[{"data":1,"prerenderedAt":96},["ShallowReactive",2],{"seo-verification":3,"marketplace-app-en-symfony-stack":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"slug":7,"slugs":8,"categorySlugs":9,"name":13,"description":14,"phase":15,"unavailableReason":16,"docsUrl":17,"logo":16,"github":16,"tagline":18,"longDescription":19,"features":20,"useCases":27,"steps":37,"faq":53,"specs":66,"compatibleOs":76,"relatedApps":77,"relatedPosts":91,"category":93},"symfony-stack",{"fr":7,"en":7,"ar":7},{"fr":10,"en":11,"ar":12},"developpement","development","التطوير","Symfony Stack","PHP-FPM, Nginx, PostgreSQL 16, Redis and Supervisor preconfigured. Deploy Symfony to production with no manual server setup.",1,null,"https:\u002F\u002Fservorbit.com\u002Fblog\u002Fdeploy-a-symfony-application-on-a-vps","PHP-FPM, Nginx, PostgreSQL 16, Redis and Supervisor — production-ready Symfony stack from the moment you order.","Symfony Stack provisions your VPS with everything a Symfony application needs in production: PHP 8.3-FPM with the Intl and OPcache extensions, Nginx as the reverse proxy, PostgreSQL 16 as the database, Redis for sessions and the Doctrine cache, and Supervisor for Messenger workers. No manual package hunting, no buildpack constraints — clone your repository, run your migrations, and your application is live.\n\nPHP 8.3 with OPcache preloading eliminates most of the autoloading overhead per request and makes Symfony noticeably faster in production. PHP-FPM with a tunable `pm.max_children` handles concurrent requests efficiently. Nginx manages static-file serving, gzip compression and HTTPS termination without container overhead. PostgreSQL 16 provides JSONB columns, full-text search and the advanced query planner that Doctrine leverages at scale.\n\nThe stack is designed for real Symfony projects: Messenger workers run under Supervisor, Redis is ready for sessions and Doctrine caching, and PHP-FPM can be tuned to the available RAM. Deploy the same environment across every server and eliminate \"works on my machine\" surprises.",[21,22,23,24,25,26],"PHP 8.3-FPM with all the Symfony-required extensions — intl, opcache, pgsql, redis, mbstring, xml, curl, zip.","Nginx configured as a reverse proxy for Symfony (public\u002F root, try_files, security headers).","PostgreSQL 16 with user and database created — the recommended Symfony production database.","Redis for Symfony sessions, Doctrine cache and Messenger transport.","Supervisor configured for Symfony Messenger workers — automatic restart after reboot.","Composer installed globally, OPcache preloading enabled — PHP bytecode is compiled once at server startup.",[28,31,34],{"title":29,"body":30},"Symfony web application","Deploy an existing Symfony application: clone your repository, run composer install --no-dev, clear the cache, and migrate. Nginx proxies ports 80\u002F443 to PHP-FPM — SSL via Let's Encrypt is a single certbot command.",{"title":32,"body":33},"API Platform backend","Host an API Platform service for a mobile app or SPA. Nginx handles CORS headers and rate limiting. Redis and Supervisor are already in place for Messenger async handlers and background jobs.",{"title":35,"body":36},"SaaS on Symfony","Start your Symfony SaaS locally, deploy to this stack in minutes. Add Messenger async workers, a Redis cache and PostgreSQL LISTEN\u002FNOTIFY for real-time features — all on a single 2 GB VPS until traffic justifies splitting services.",[38,41,44,47,50],{"title":39,"body":40},"Create the VPS","Select the \"Symfony Stack\" template. Minimum 2 GB RAM for Symfony with PostgreSQL. Choose 4 GB if you plan to run multiple Messenger workers or a loaded Redis cache.",{"title":42,"body":43},"Clone your project and configure","SSH in, clone your repository into \u002Fvar\u002Fwww\u002Fyour-app, run `composer install --no-dev --optimize-autoloader`, and create a `.env.local` with APP_ENV=prod, APP_SECRET, and DATABASE_URL.",{"title":45,"body":46},"First access","This template installs a server toolchain (PHP 8.3-FPM, Nginx, PostgreSQL 16, Redis, Supervisor, Composer). There is no web interface to open — connect via SSH and deploy your own Symfony application.",{"title":48,"body":49},"Compile the cache and run migrations","Run `php bin\u002Fconsole cache:clear --env=prod && cache:warmup`, then `php bin\u002Fconsole doctrine:migrations:migrate --no-interaction`. Check permissions on the `var\u002F` directory.",{"title":51,"body":52},"Configure Nginx and enable HTTPS","Point the Nginx root to `public\u002F`, route all requests to `index.php` via `try_files`, and proxy `.php` files to the PHP-FPM socket. Run `certbot --nginx -d your-domain.com` for a free Let's Encrypt certificate.",[54,57,60,63],{"q":55,"a":56},"Which PHP extensions are included?","php8.3-fpm, php8.3-cli, php8.3-pgsql, php8.3-redis, php8.3-mbstring, php8.3-xml, php8.3-curl, php8.3-zip, php8.3-intl, php8.3-opcache. All the extensions required by a standard Symfony application.",{"q":58,"a":59},"How do I manage Symfony Messenger workers?","Supervisor is preconfigured to launch and keep `php bin\u002Fconsole messenger:consume async` running. It automatically restarts the workers if they stop or if the VPS reboots. Add a cron job for `messenger:stop-workers` after each deploy to reload updated code.",{"q":61,"a":62},"Can I use MySQL instead of PostgreSQL?","The stack installs PostgreSQL 16 by default, the recommended Symfony production database. You can install MySQL or MariaDB alongside it with `apt install mysql-server`, but PostgreSQL is the better choice for Symfony: Doctrine ORM is fully optimized for it and JSONB fields come for free.",{"q":64,"a":65},"Can I deploy multiple Symfony projects on the same VPS?","Yes. Each project has its own Nginx virtualhost, system user, and PostgreSQL database. A 4 GB VPS can typically host 3 to 5 medium-sized Symfony applications simultaneously.",{"cpu":67,"ram":68,"stack":69},"1 vCPU","2 GB",[70,71,72,73,74,75],"PHP 8.3-FPM","Nginx","PostgreSQL 16","Redis","Supervisor","Composer",[],[78,86],{"name":79,"slug":80,"categorySlug":11,"categoryName":81,"categoryColor":82,"logo":83,"tagline":84,"description":85},"Laravel Stack","laravel-stack","Development","text-warning bg-warning\u002F10","https:\u002F\u002Fcdn.simpleicons.org\u002Flaravel","PHP-FPM, Nginx, PostgreSQL, Redis and Supervisor — a production-ready Laravel stack from the moment you order.","PHP-FPM, Nginx, PostgreSQL, Redis and Supervisor preconfigured. Deploy Laravel to production with no initial configuration.",{"name":87,"slug":88,"categorySlug":11,"categoryName":81,"categoryColor":82,"logo":16,"tagline":89,"description":90},"Next.js Stack","nextjs-stack","Next.js Stack — Node.js LTS, PM2, Nginx and PostgreSQL preconfigured. Deploy your React SSR app to production without Vercel.","Node.js, PM2, Nginx and PostgreSQL preconfigured for Next.js. Deploy your React SSR apps without Vercel or function quotas.",[92],"deployer-symfony-vps",{"key":10,"slug":11,"name":81,"objective":94,"icon":95,"color":82},"Kick off a software project quickly.","dev",1787581041645]