Symfony на VPS: деплой PHP-приложения — иллюстрация к статье Storm Cloud Blog, категория Разработка
Symfony на VPS: деплой PHP-приложения — иллюстрация к статье Storm Cloud Blog, категория Разработка
Разработка·1 мин··

Symfony на VPS: деплой PHP-приложения

Деплой Symfony на VPS: Composer, PHP-FPM, Nginx, Messenger, cache. Production checklist для enterprise PHP.

Краткий ответ: Symfony на VPS = Composer install –no-dev + PHP-FPM + Nginx + opcache + Messenger worker. Аналог Laravel с другой структурой.

Symfony — выбор для enterprise PHP в Европе. PHP-FPM tuning критичен на 2 GB VPS.


Production deploy

composer install --no-dev --optimize-autoloader
php bin/console cache:clear --env=prod
php bin/console cache:warmup --env=prod
php bin/console doctrine:migrations:migrate --no-interaction

Nginx

root /var/www/symfony/public;
location / {
    try_files $uri /index.php$is_args$args;
}
location ~ ^/index\.php {
    fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
}

SSL + Cloudflare.


Symfony Messenger

php bin/console messenger:consume async -vv

Автозапуск — Supervisor или systemd. Transport — RabbitMQ или Redis.


БД и кэш


CI/CD

Deploy script в GitHub Actions: rsync → cache warmup → reload php-fpm.


Итог

Symfony на VPS — тот же стек что Laravel, другие команды console. Messenger + Supervisor для async.

VPS 2 GB — StormNet Cloud. Laravel альтернатива — Laravel на VPS.

Частые вопросы

Symfony или Laravel на VPS?

Laravel — быстрее старт. Symfony — гибче для enterprise, строже архитектура. Стек деплоя одинаковый: PHP-FPM + Nginx.

Как запустить Symfony Messenger на VPS?

supervisor или systemd для messenger:consume. Transport — Redis или RabbitMQ.