Skip to Content
استقرارراهنمای فریم‌ورک‌ها

راهنمای فریم‌ورک‌ها

گردو این فریم‌ورک‌ها را خودکار تشخیص می‌دهد و بیشترشان بدون هیچ تنظیمی اجرا می‌شوند. این صفحه چیزهایی را می‌گوید که برای هر کدام فرق دارد. قانون کلی برای همه یکی است: برنامهٔ سرور باید روی 0.0.0.0 و پورت PORT گوش بدهد. قانون PORT

Next.js

معرفی کامل: میزبانی Next.js در گردو 

  • با npm run build ساخته و با npm start (یعنی next start) اجرا می‌شود. next start خودش PORT را می‌خواند.
  • اگر در next.config گزینهٔ output: 'export' دارید، سایت استاتیک ساخته و پوشهٔ out سرو می‌شود؛ در این حالت API Route و SSR ندارید.
  • متغیرهای NEXT_PUBLIC_* باید بیلد تایم باشند. بقیه (کلید API سمت سرور، DATABASE_URL) ران‌تایم.
  • اگر Prisma دارید، prisma generate خودکار اجرا می‌شود. migration را جدا اجرا کنید (پایین‌تر، Django را ببینید؛ روش همان است).
  • خطای Could not find a production build یعنی اسکریپت build شما next build را اجرا نمی‌کند.

React، Vue و Vite (اپ تک‌صفحه‌ای)

معرفی کامل: میزبانی React در گردو 

  • با npm run build ساخته و پوشهٔ dist سرو می‌شود. مسیرهایی که فایل ندارند به index.html می‌روند، پس React Router و Vue Router کار می‌کنند.
  • اگر پوشهٔ خروجی شما dist نیست (مثلاً Create React App که build می‌سازد)، آن را با vercel.json ("outputDirectory": "build") یا دستور اجرای سفارشی مشخص کنید.
  • متغیرهای VITE_* (یا REACT_APP_*) بیلد تایم‌اند و در مرورگر دیده می‌شوند. رمز در آن‌ها نگذارید.

Nuxt

معرفی کامل: میزبانی Vue و Nuxt در گردو 

خروجی .output با سرور Nitro اجرا می‌شود و خودش PORT و HOST را می‌خواند. اگر nuxt generate (استاتیک) می‌خواهید، «دستور ساخت» را npm run generate بگذارید.

SvelteKit

معرفی کامل: میزبانی SvelteKit در گردو 

با @sveltejs/adapter-node، برنامه به شکل سرور Node اجرا می‌شود. با adapter-static، خروجی به شکل فایل سرو می‌شود. adapter را در svelte.config.js انتخاب کنید.

Astro

معرفی کامل: میزبانی Astro در گردو 

حالت استاتیک (پیش‌فرض) پوشهٔ dist را سرو می‌کند. برای SSR از @astrojs/node با mode: 'standalone' استفاده کنید و «دستور اجرا» را node ./dist/server/entry.mjs بگذارید.

Express، Fastify و سرورهای Node

معرفی کامل: میزبانی Node.js در گردو 

  • اسکریپت start در package.json اجرا می‌شود؛ اگر نباشد، index.js، server.js یا dist/index.js.
  • اگر TypeScript دارید، اسکریپت build آن را کامپایل کند (tsc) و start خروجی را اجرا کند (node dist/index.js).
  • پشت HTTPS گردو هستید؛ اگر کوکی secure یا redirect به HTTPS دارید، app.set('trust proxy', 1) را بگذارید.

Django

معرفی کامل: میزبانی Python در گردو 

  • collectstatic خودکار اجرا می‌شود و برنامه با gunicorn و فایل wsgi.py پروژه بالا می‌آید. gunicorn را در requirements.txt بگذارید.
  • برای سرو فایل‌های استاتیک، WhiteNoise  را اضافه کنید.
  • ALLOWED_HOSTS باید آدرس سرویس و دامنهٔ شما را داشته باشد، و CSRF_TRUSTED_ORIGINS همان‌ها را با https://.
  • برای تشخیص HTTPS پشت گردو: SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https").
  • migration: در «اجرای دستور» سرویس python manage.py migrate را اجرا کنید، یا آن را اول دستور اجرا بگذارید: python manage.py migrate && gunicorn ….
  • دیتابیس را از DATABASE_URL بخوانید (dj-database-url).

FastAPI و Flask

معرفی کامل: میزبانی Python در گردو 

  • اگر uvicorn در وابستگی‌هاست، برنامه با uvicorn اجرا می‌شود؛ اگر gunicorn، با gunicorn؛ وگرنه app.py یا main.py مستقیم اجرا می‌شود.
  • اگر فایل برنامه یا نام متغیرش استاندارد نیست، «دستور اجرا» را بنویسید: uvicorn app.main:app --host 0.0.0.0 --port $PORT.
  • با flask run یا app.run() بدون host="0.0.0.0" برنامه از بیرون در دسترس نیست.

Laravel

معرفی کامل: میزبانی Laravel در گردو 

  • با php artisan serve اجرا می‌شود و config:cache قبلش اجرا می‌شود. اگر package.json دارید، asset‌ها (Vite) هم ساخته می‌شوند.
  • APP_KEY را بسازید (php artisan key:generate --show روی کامپیوترتان) و به شکل متغیر محرمانه بگذارید. APP_ENV=production و APP_URL را هم تنظیم کنید.
  • migration: php artisan migrate --force در «اجرای دستور».
  • فایل‌های آپلودی storage/app را روی یک دیسک ماندگار بگذارید.
  • صف (queue:work) و زمان‌بند (schedule:run) را سرویس‌های جدا کنید: یک سرویس خصوصی با دستور اجرای php artisan queue:work، و یک کار زمان‌بندی‌شده با php artisan schedule:run هر دقیقه.

PHP ساده

پوشهٔ public (اگر باشد) یا ریشهٔ پروژه با سرور داخلی PHP سرو می‌شود. فایل‌های ionCube هم پشتیبانی می‌شوند.

Ruby on Rails

معرفی کامل: میزبانی Ruby در گردو 

  • assets:precompile خودکار اجرا می‌شود و برنامه با rails server بالا می‌آید.
  • SECRET_KEY_BASE (یا RAILS_MASTER_KEY) را محرمانه تعریف کنید و RAILS_ENV=production.
  • migration: bin/rails db:migrate در «اجرای دستور».

Go

معرفی کامل: میزبانی Go در گردو 

بستهٔ main پروژه ساخته و اجرا می‌شود. اگر چند main دارید (مثلاً cmd/api و cmd/worker)، «دستور ساخت» را مشخص کنید: go build -o /tmp/server ./cmd/api.

Rust

معرفی کامل: میزبانی Rust در گردو 

با cargo build --release ساخته می‌شود. اگر پروژه چند باینری دارد، «دستور اجرا» را روی باینری درست بگذارید. فقط نسخه‌های پایدار Rust در دسترس‌اند.

سایت استاتیک (HTML)

معرفی کامل: میزبانی سایت استاتیک در گردو 

اگر فقط HTML، CSS و JavaScript دارید (بدون package.json)، ریشهٔ پروژه سرو می‌شود. اگر package.json با اسکریپت build دارید، اول ساخته می‌شود.

فریم‌ورک شما این‌جا نیست؟ یک Dockerfile در ریشهٔ پروژه بگذارید؛ گردو همان را می‌سازد. ساخت با Dockerfile

در سایت گردوراهنمای استقرار زبان‌ها و فریم‌ورک‌ها