How to Install Symfony 5 with Nginx on Ubuntu Linux
You install Symfony 5 with Nginx on Ubuntu Linux by configuring your server and project dependencies. Symfony is a modern, open-source PHP framework built for developing web applications and APIs, known for its collection of reusable PHP components.
This process specifically sets up Symfony version 5 on an Ubuntu system. We’ll be using Nginx, a high-performance web server renowned for its efficiency and ability to handle high traffic loads.
Following these steps, you’ll establish a powerful environment for building and deploying fast, reliable PHP applications using 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
Nginx is a popular web server that works well with Symfony. To install Nginx on your Ubuntu system, you’ll need to run a couple of commands in your terminal.
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 is built using PHP, so you need to install PHP to run it. If your Ubuntu version doesn’t have PHP 7.2-FPM in its default software list, you’ll need to add a special source first.
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
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 you download and manage Symfony and its many parts. To get the latest Symfony version, you’ll first need to install Composer on your Ubuntu machine using these commands.
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
Now you need to tell Nginx how to handle requests for your Symfony site. You’ll create a new Nginx configuration file and add specific settings to it so Nginx knows where your Symfony files are.
sudo nano /etc/nginx/sites-available/symfony
Then copy and paste the content below into the file and save it. Replace the highlighted line with your domain name and directory root location.
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
With the Nginx configuration ready, you need to turn it on for your Symfony site. This involves creating a link to your configuration file and then restarting Nginx so it uses the new settings.
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