How to Install Symfony 5 with Nginx on Ubuntu Linux
Installing Symfony 5 with Nginx on Ubuntu Linux sets up your web server and project files.
Symfony is a popular, free PHP tool used to build websites and apps, made of handy building blocks.
This guide shows you how to get Symfony version 5 running on Ubuntu. We’ll use Nginx, a fast web server that’s great for busy websites.
Following these steps helps you create a solid setup for making quick and dependable PHP apps with Symfony 5 and Nginx.
Install Nginx using `sudo apt install nginx`, then PHP 7.2-FPM and modules with `sudo apt install php7.2-fpm`. Download Symfony using Composer and configure Nginx by creating a new site file in `/etc/nginx/sites-available/`.
Install Nginx HTTP Server
Install Nginx on your Ubuntu system to create a web server that works well with Symfony. You’ll use your terminal to run a couple of commands. First, update your list of available software with `sudo apt update`, and then install Nginx itself by running `sudo apt install nginx`.
sudo apt update sudo apt install nginx
After installing Nginx, the commands below can be used to stop, start, and enable the Nginx service to always start up with the server boots.
sudo systemctl stop nginx.service sudo systemctl start nginx.service sudo systemctl enable nginx.service
Now that Nginx has been installed, browse your browser to the URL below to test whether the web server works.
http://localhost

If you see the page above, then Nginx is successfully installed.
Install PHP 7.2-FPM and Related Modules
Symfony needs PHP to work, so you must install PHP 7.2-FPM and its necessary modules on Ubuntu. If your Ubuntu version doesn’t have PHP 7.2-FPM ready, first run `sudo apt-get install software-properties-common` and then `sudo add-apt-repository ppa:ondrej/php` to add the right source.
sudo apt-get install software-properties-common sudo add-apt-repository ppa:ondrej/php
Then update and upgrade to PHP 7.2-FPM
sudo apt update
Next, run the commands below to install PHP 7.2-FPM and related modules.
sudo apt install php7.2-fpm php7.2-common php7.2-sqlite3 php7.2-mysql php7.2-gmp php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-ldap php7.2-gd php7.2-bcmath php7.2-xml php7.2-cli php7.2-zip
After installing PHP 7.2-FPM, run the commands below to open Nginx’s PHP default configuration file.
sudo nano /etc/php/7.2/fpm/php.ini
The lines below are a good setting for most PHP-based CMS. Update the configuration file with these and save.
file_uploads = On allow_url_fopen = On short_open_tag = On cgi.fix_pathinfo = 0 memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = America/Chicago
Restarting the Nginx web server whenever you change the PHP configuration file would be best. To do so, run the commands below:
sudo systemctl restart nginx.serviceDownload Symfony’s Latest Release
Composer is a tool that helps manage Symfony and its parts. To download the latest Symfony version, you first need to install Composer on your Ubuntu machine. The commands shown will add Composer to your system so you can manage Symfony’s needs easily. Start by running `sudo apt install curl`.
To install Composer on Ubuntu, run the commands below:
sudo apt install curl git curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
After installing Composer above, change the Nginx home directory and download Symfony packages into a new project folder called symfony5.
cd /var/www/ sudo composer create-project symfony/skeleton symfony5
sudo chown -R www-data:www-data /var/www/symfony5/ sudo chmod -R 755 /var/www/symfony5/
Configure Nginx
You need to configure Nginx so it knows how to handle requests for your Symfony site. This involves making a new file that tells Nginx where your Symfony files are and how to show them to visitors. Create this file by running `sudo nano /etc/nginx/sites-available/symfony` and then paste in the correct settings.
sudo nano /etc/nginx/sites-available/symfony
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/symfony5/public;
index index.php;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
client_max_body_size 100M;
autoindex off;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
include fastcgi_params;
fastcgi_intercept_errors on;
}
}
Save the file and exit.
Enable the Symfony
Once you have set up the Nginx configuration for your Symfony site, you need to turn it on. This means creating a link from the place where all possible configurations are stored to the place where active ones are kept. Use `sudo ln -s /etc/nginx/sites-available/symfony /etc/nginx/sites-enabled/` to make the link, then restart Nginx with `sudo systemctl restart nginx.service`.
sudo ln -s /etc/nginx/sites-available/symfony /etc/nginx/sites-enabled/ sudo systemctl restart nginx.service
Then, open your browser and browse to the host’s domain name or server IP address. You should then see the Symfony 5 homepage.
http://example.com/

Symfony 5 framework application is now ready, and you can start working on it.
Conclusion:
This post shows you how to install the Symfony 5 framework on Ubuntu 18.04 | 16.04. If you find any error, please report it in the comment form below.
You may also like the post below:
Was this guide helpful?
About the Author
Richard
Tech Writer, IT Professional
Richard, a writer for Geek Rewind, is a tech enthusiast who loves breaking down complex IT topics into simple, easy-to-understand ideas. With years of hands-on experience in system administration and enterprise IT operations, he’s developed a knack for offering practical tips and solutions. Richard aims to make technology more accessible and actionable. He's deeply committed to the Geek Rewind community, always ready to answer questions and engage in discussions.
i get 404 not found message when lauch the project