Laravel โ bu PHP'ning eng mashhur framework'i, dunyo bo'yicha minglab loyihalar Laravel'da yozilgan. Lekin Laravel deploy WordPress'dan murakkabroq โ composer dependencies, .env environment variables, queue worker'lar, cron job'lar, caching va boshqa konfiguratsiya talab qiladi.
Asosiy talablar
Laravel 11 (eng yangi) talablar: PHP 8.2+, Composer 2.x, MySQL 5.7+ yoki PostgreSQL, Redis (queue va cache uchun, ixtiyoriy lekin tavsiya etiladi), Node.js (assets build uchun, ixtiyoriy).
Deploy bosqichlari
1. Kodingizni xostingga ko'chirish (Git deploy yoki SFTP). Production'da public_html emas, balki bitta katalog yuqorida (kod xavfsizligi uchun).
2. Composer install: composer install --no-dev --optimize-autoloader. --no-dev development dependency'larni olmaydi, --optimize-autoloader autoload'ni tezlashtiradi.
3. .env fayl yaratish: env.example'ni .env'ga ko'chiring va sozlamalar (DB_HOST, DB_DATABASE, DB_USERNAME, DB_PASSWORD, APP_KEY, APP_URL va boshqa) to'ldiring.
4. Application key yaratish: php artisan key:generate.
5. Database migration: php artisan migrate --force. --force production'da kerak (yo'q bo'lsa "Are you sure?" so'raydi va deploy to'xtaydi).
6. Caching: php artisan config:cache && php artisan route:cache && php artisan view:cache. Bu konfiguratsiya, route va view fayllarni keshlaydi, dastur tezligini oshiradi.
7. Storage link: php artisan storage:link โ public storage uchun symlink yaratadi.
Web server konfiguratsiyasi
Document root'ni Laravel'ning public/ kataloga yo'naltirish. Apache: .htaccess avtomatik. Nginx:
root /home/user/laravel/public;
index index.php;
location / { try_files $uri $uri/ /index.php?$query_string; }
Queue worker va Supervisor
Laravel queue (email yuborish, image processing kabi background ish) ishlashi uchun queue worker doimiy ishlashi kerak. Supervisor โ process manager Linux'da. Konfig: /etc/supervisor/conf.d/laravel-worker.conf:
[program:laravel-worker]
command=php /home/user/laravel/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=user
numprocs=4
Cron job
Laravel scheduler ishlashi uchun har minutda cron: * * * * * cd /home/user/laravel && php artisan schedule:run >> /dev/null 2>&1.
Sayt.uz amaliyot
Sayt.uz mijozlarining 11% Laravel ishlatadi โ custom CRM, ERP, SaaS loyihalar. Shared hosting'da Laravel ishlay oladi, lekin queue va Supervisor uchun VPS yaxshi tanlov. Sayt.uz VPS Pro mijozlarga Laravel optimal setup'ini biz tomonimizdan sozlaymiz. Maslahat: Laravel uchun shared hosting cheklangan, real production sayt uchun VPS tanlash kerak.