حسین
2 ماه پیش توسط حسین مطرح شد
4 پاسخ

ایده برای دیپلوی پروژه ریکت و express

درود. دوستان کسی ایده ای داره چطوری میتونم یه پروژه react + express رو دیپلوی کنم؟ ترجیحا میخوام روی ویندوز سرور و IIS دیپلوی کنم اگر تجربه ای در سیستم های ویندوزی دارین خوشحال میشم بگین.

اگر برای دیپلوی سایر فریمورک ها مثل django یا فریمورک های go روی ویندوز سرور هم تجربه ای دارین بگین

در ضمن بنظر شما دیتابیس sqlite برای یه پروژه پروتوتایپ و تستی در فاز دیپلوی و استفاده کافیه یا نه.

ممنون.


ثبت پرسش جدید
رضا پارسیان
تخصص : توسعه دهنده Php , Laravel
@Rp76 1 هفته پیش مطرح شد
0

سلام
اگر می‌تونید از داکر استفاده کنید پیشنهاد من این داکر فایلی هست که تقریبا خودم آماده کردم!
مولتی استیج هست و حجم داکر ایمج نهایی خیلی پایین هست!

FROM node:20-alpine AS base

FROM base AS deps
WORKDIR /app

RUN apk add --no-cache libc6-compat

COPY package.json package-lock.json ./

RUN npm ci --force

FROM base AS builder
WORKDIR /app

COPY --from=deps /app/node_modules ./node_modules
COPY . .
COPY .env .env

RUN npm run build

FROM base AS runner
WORKDIR /app

ENV NODE_ENV=production
COPY --from=builder /app/public ./public

COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static

ENV PORT=3000

CMD HOSTNAME="0.0.0.0" node server.js

اگر هم نمی‌تونید از داکر استفاده کنید می‌تونید از این اسکریپ bash استفاده کنید که خودم اماده کردم!

npm run build

mkdir ./temp

cp -r ./public/. ./temp/public
cp -r ./.next/standalone/. ./temp

mkdir -p ./temp/.next/static/.

cp -r ./.next/static/. ./temp/.next/static

این اسکریپت همه فایل هایی که نیاز دارید رو توی پوشه temp کپی می‌کنه و بعد می‌تونید با دستور

node ./temp/server.js

پروژه رو اجرا کنید و نکته‌این ۲ شیوه هم اینه که باید توی فایل next.config.ts
output رو برابر standalone قرار بدید!
به این صورت

import { withNextVideo } from "next-video/process";
import type {NextConfig} from "next";

const nextConfig: NextConfig = {
  output: 'standalone'
}

export default withNextVideo(nextConfig);

رضا پارسیان
تخصص : توسعه دهنده Php , Laravel
@Rp76 1 هفته پیش مطرح شد
0

راستی!
اگر از داکر استفاده کردید که هیچ، پروژه بالاست و نیاز به Process Manager ندارید وگرنه باید یه Process Manager مثل pm2 نصب کنید که پروژه رو همیشه اجرا نگه داره و بعدا به iis میتونید بگید هرکس به این ادرس روی پورت ۸۰ درخواست داد ارسال کن به پورت ۳۰۰۰ برای مثال


حسین
تخصص : Full Stack Developer
@hosseinyn91 5 روز پیش مطرح شد
0

اتفاقا آقای پارسیان امروز داشتم ویدیو داکر و gitea شما رو در آپارات میدیدم


رضا پارسیان
تخصص : توسعه دهنده Php , Laravel
@Rp76 4 روز پیش آپدیت شد
0

😅 همون روز های اول که اینترنت رو قطع کردن ضبط و آپلودش کردم و فکر نمی‌کردم که دیده بشه
@hosseinyn91


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام