Lexoya
میزبانی لاراول

هاست لاراولبدون محدودیت هاست اشتراکی

ریپازیتوری را وصل می‌کنید، متغیرها را وارد می‌کنید و پروژه بالا می‌آید. صف و زمان‌بند بدون تنظیم دستی اجرا می‌شوند و برای نصب وابستگی‌ها لازم نیست تیکت بزنید.

  • SSL رایگان
  • پرداخت ساعتی
  • خوشه‌ی ایران و آلمان
  • ساب‌دامین رایگان
lexoya / laravel-shopmain
$ git push origin main
✓ repository cloned
✓ composer install
✓ npm run build
✓ php artisan migrate
live your-project.lexoyacloud.ir

همین شش خط کل دیپلوی است؛ نه اتصال به سرور، نه تنظیم زمان‌بند.

هاست لاراول چیست؟

هاست لاراول میزبانی‌ای است که پیش‌نیازهای فریم‌ورک را از پیش آماده دارد: نسخه‌ی مناسب PHP، دسترسی به Composer و artisan، داکیومنت روت روی پوشه‌ی public و امکان اجرای پردازش‌های پس‌زمینه مثل صف و زمان‌بند. تفاوت اصلی‌اش با هاست اشتراکی همین است: در هاست اشتراکی PHP فقط به‌اندازه‌ی یک درخواست وب زنده می‌ماند و ورکر همیشه‌روشن جایی برای اجرا ندارد.

پروژه‌ی لاراولی روی سه نوع زیرساخت اجرا می‌شود: هاست اشتراکی برای سایت‌های کم‌ترافیک، سرور مجازی برای کنترل کامل، به بهای وقت نگهداری، و پلتفرم ابری که دیپلوی، مقیاس و پردازش پس‌زمینه را بدون مدیریت سرور تحویل می‌دهد. انتخاب درست به این بستگی دارد که پروژه‌تان صف و ورکر دائمی دارد یا نه.

پروژه‌ی لاراول از هاست چه می‌خواهد؟

این فهرست معیار خرید است. اگر سرویس‌دهنده‌ای یکی از این‌ها را نداشته باشد، مشکل بعداً به شکل خطا سر می‌زند، نه در صفحه‌ی فروش.

نسخه‌ی PHP و افزونه‌ها

نسخه‌های جدید لاراول به PHP ۸٫۲ یا بالاتر نیاز دارند. افزونه‌هایی مثل PDO، mbstring، openssl، intl، gd و zip باید فعال باشند و نسخه قابل تغییر باشد، نه قفل‌شده.

داکیومنت روت روی public

اگر دامنه به روت پروژه اشاره کند، فایل .env و سورس از بیرون خواندنی می‌شود. داکیومنت روت باید پوشه‌ی public باشد.

ابزار ساخت: Composer و artisan

نصب وابستگی و اجرای migrate و config:cache باید بدون تیکت و در زمان دیپلوی انجام شود.

مرحله‌ی build برای فرانت

اگر Vite یا Mix دارید، جایی برای npm ci و npm run build لازم است؛ وگرنه استایل‌ها روی سرور ساخته نمی‌شوند.

ورکر همیشه‌روشن

صف از یک فرایند دائمی استفاده می‌کند. اگر ورکر بالا نباشد، job‌ها در صف می‌مانند و کاربر پشت صفحه‌ی انتظار گیر می‌کند.

زمان‌بند دقیقه‌ای

schedule:run باید هر دقیقه اجرا شود. cron محدود هاست اشتراکی معمولاً همین‌جا شکست می‌خورد.

کش و صف روی Redis

کش فایل و صف دیتابیس تا حدی جواب می‌دهند. با ترافیک واقعی، Redis تفاوت را نشان می‌دهد.

ذخیره‌سازی بیرون از سرور

فایل کاربران روی دیسک محلی کانتینر با هر دیپلوی پاک می‌شود؛ باید روی S3 باشد.

هاست اشتراکی، سرور مجازی یا پلتفرم ابری؟

هیچ‌کدام مطلقاً بهتر نیستند. جدول را بر اساس کاری که پروژه‌تان انجام می‌دهد بخوانید.

معیارهاست اشتراکیسرور مجازیپلتفرم ابری لکسویا
منابعمشترک با ده‌ها کاربر دیگراختصاصی، با مدیریت خودتاناختصاصی برای هر پروژه
صف و ورکرمعمولاً ندارد یا محدود استبا Supervisor، خودتان تنظیم می‌کنیدپروژه‌ی جدا برای ورکر
زمان‌بندcron محدودcron کاملفراخوانی هر دقیقه
دیپلویآپلود دستی یا Git روی هاستخودتان با اسکریپتpush به ریپازیتوری و build خودکار
نگهداری و امنیتبا سرویس‌دهندهبا شمابا ما
هزینهکم و ثابتکم، ولی وقت شما گران استمصرفی و ساعتی

برای یک سایت شرکتی ساده با چند صد بازدید روزانه، هاست اشتراکی هنوز ارزان‌ترین انتخاب است. اگر صف، ورکر یا دیپلوی مکرر دارید، هزینه‌ی نگهداری سرور مجازی از اختلاف قیمت بیشتر می‌شود.

دیپلوی لاراول روی لکسویا

شش قدم، از ریپازیتوری تا دامنه. هیچ‌کدام نیاز به SSH ندارد.

  1. اتصال ریپازیتوری

    گیت‌هاب، گیت‌لب یا گیتیا را وصل کنید و شاخه‌ی اصلی را انتخاب کنید.

  2. انتخاب نوع پروژه

    نوع لاراول را انتخاب کنید. اگر ریپازیتوری Dockerfile دارد، مسیرش را بدهید؛ وگرنه قالب آماده‌ی لاراول استفاده می‌شود.

  3. متغیرهای محیطی

    APP_KEY، اتصال دیتابیس و QUEUE_CONNECTION را وارد کنید. رمزها در پنل می‌مانند، نه در ریپازیتوری.

  4. دیپلوی

    بیلد، نصب وابستگی و ریلیز انجام می‌شود. لاگ هر مرحله باز است و مرحله‌ی شکست‌خورده را نشان می‌دهد.

  5. ورکر صف

    یک پروژه‌ی Supervisor با دستور php artisan queue:work بسازید تا صف جدا از ترافیک وب پردازش شود.

  6. دامنه و SSL

    دامنه‌ی اختصاصی را وصل کنید یا از ساب‌دامین رایگان استفاده کنید؛ گواهی SSL خودکار صادر و تمدید می‌شود.

صف، زمان‌بند و پردازش پس‌زمینه

پنج تنظیمی که تفاوت بین «روی سرور بالا آمد» و «در تولید کار می‌کند» را می‌سازد.

صف روی Redis

درایور صف را Redis بگذارید و ورکر را جدا اجرا کنید. jobهای شکست‌خورده باید retry و لاگ داشته باشند.

زمان‌بند

schedule:run هر دقیقه فراخوانی می‌شود و kernel.php شما را اجرا می‌کند؛ نیازی به تعریف cron در پنل نیست.

وب‌سوکت با Reverb

Reverb پورت و دامنه‌ی جدا می‌گیرد و کنار پروژه‌ی اصلی اجرا می‌شود. برای بار سنگین، ورکر و وب‌سوکت را از هم جدا نگه دارید.

داشبورد Horizon

اگر روی Redis کار می‌کنید، Horizon هم بالا می‌آید. مسیرش را با احراز هویت محافظت کنید.

فایل کاربران روی S3

FILESYSTEM_DISK=s3 تا آپلودها با هر دیپلوی از بین نروند و بین نسخه‌ها مشترک بمانند.

هزینه چطور حساب می‌شود

هزینه بر اساس منابعی که پروژه مصرف می‌کند حساب می‌شود: پردازنده، حافظه، دیسک و ترافیک، به‌صورت ساعتی. پلن ثابت با سقف پنهان نداریم؛ ترکیب منابع را خودتان انتخاب می‌کنید و فقط همان را می‌پردازید.

  • پرداخت ساعتی، بدون هزینه‌ی راه‌اندازی
  • دیتابیس مدیریت‌شده به‌عنوان سرویس جدا و شفاف
  • تخمین ماهانه پیش از خرید در ماشین‌حساب
محاسبه‌ی هزینه‌ی ماهانه

مهاجرت از هاست فعلی

بیشترین قطعی مهاجرت از دو جا می‌آید: ایمیل تراکنشی و درگاه پرداخت. این دو را جدا برنامه‌ریزی کنید.

  1. بکاپ کامل

    دیتابیس را دامپ کنید و storage/app/public را کپی کنید.

  2. کد روی گیت

    ریپازیتوری را بدون .env و vendor بالا ببرید.

  3. متغیرهای محیطی

    APP_URL، SESSION_DOMAIN و اتصال دیتابیس جدید را تنظیم کنید.

  4. دیپلوی و مهاجرت

    migrate --force را اجرا و درگاه پرداخت و ورود کاربران را تست کنید.

  5. تغییر DNS

    رکورد دامنه را عوض کنید و تا پایدار شدن، هاست قبلی را خاموش نکنید.

خطاهای رایج و رفعشان

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

بعد از دیپلوی ارور ۵۰۰ می‌گیرم

راه‌حل

اغلب APP_KEY خالی است یا پوشه‌ی storage اجازه‌ی نوشتن ندارد. کلید را بسازید و مجوز پوشه‌ها را درست کنید.

جاب‌های صف اجرا نمی‌شوند

راه‌حل

ورکر بالا نیست یا QUEUE_CONNECTION به درایور اشتباه اشاره می‌کند. پروژه‌ی ورکر را اجرا و درایور را اصلاح کنید.

تصاویر آپلودی بعد از هر دیپلوی غیب می‌شوند

راه‌حل

فایل‌ها روی دیسک محلی کانتینر ذخیره شده‌اند. FILESYSTEM_DISK را به S3 تغییر دهید.

ورود کاربران با خطای ۴۱۹ برمی‌گردد

راه‌حل

دامنه‌ی سشن با دامنه‌ی فعلی نمی‌خواند یا پروکسی‌ها trusted نیستند. SESSION_DOMAIN و trusted proxies را تنظیم کنید.

composer install از ایران قطع می‌شود

راه‌حل

دسترسی به packagist از داخل ایران پایدار نیست. دیپلوی را در خوشه‌ی آلمان اجرا کنید.

استایل‌ها بعد از دیپلوی قدیمی می‌مانند

راه‌حل

مرحله‌ی build فرانت اجرا نشده یا کش کانفیگ مانده است. npm run build و config:cache را اضافه کنید.

پرسش‌های پرتکرار

در هاست اشتراکی PHP فقط برای پاسخ به یک درخواست وب اجرا می‌شود و ورکر دائمی جایی ندارد. هاست لاراول امکان اجرای همیشگی صف، زمان‌بند و دستورهای artisan را می‌دهد.

پروژه‌ی لاراول را همین امروز بالا بیاورید

ریپازیتوری را وصل کنید، متغیرها را وارد کنید و اولین دیپلوی را ببینید. ساب‌دامین و SSL رایگان از همان ابتدا فعال است.

شروع دیپلوی لاراول