Reinstall Nginx Ubuntu 18.04

Reinstall Nginx Ubuntu 18.04

What is Nginx?

Nginx is an open source, high-performance web server application designed to serve web traffic with lightning-fast speed and robust stability. Nginx is one of the most popular web servers in the world and is rapidly gaining popularity as a web server of choice in businesses and organizations of all sizes. Nginx is highly configurable, platform-independent and lightweight, making it an ideal choice for hosting applications and services on Ubuntu.

Nginx is an ideal frontend for web applications running on an application server, such as Node.js, Express or PHP-FPM. It can also be used as a software load balancer for web applications. With Nginx, you can also serve static files like CSS, JavaScript, and image files.

Nginx is an essential component in creating a web presence with your own domain name or hosting content from a static IP address with your own web server. In this tutorial, you will learn how to install and configure Nginx on Ubuntu 18.04.

How to Reinstall Nginx on Ubuntu 18.04

Before we begin, it’s important to make sure that your system is up to date. On Ubuntu 18.04, run the following commands in a terminal window:

sudo apt-get update

sudo apt-get upgrade

Once your system is up to date, it’s time to reinstall Nginx. Run the command below to remove the existing Nginx server, if any:

sudo apt-get purge nginx*

Now, install Nginx on Ubuntu 18.04 using the command:

sudo apt install nginx

After the installation is complete, check the version of Nginx by running the command:

nginx -v

If all went well, you should see “Nginx 1.14.X” in the output.

How to Configure Nginx?

The basic configuration of Nginx is stored in the /etc/nginx/nginx.conf file, which controls the global settings of your web server. However, most configuration settings should be made in separate files located in the /etc/nginx/sites-available and /etc/nginx/sites-enabled directories, so it is important to understand the differences between these directories in order to configure Nginx properly.

The /etc/nginx/sites-available directory contains configuration files for each site or domain that is hosted on your server. In this directory, you can create a separate configuration file for each website or domain that you want to host, and the file should be named .conf. In this file, you can set up the server directive to specify the document root, enable rewrite rules, and set up other directives like server_name, root location, and SSL options.

The /etc/nginx/sites-enabled directory contains a symbolic link for each configuration file stored in the /etc/nginx/sites-available directory. These symbolic links are used to enable the configuration files. In order for a configuration file to be active, a symbolic link must be created between the files in the two directories.

Create a Virtual Host in Nginx

A virtual host (also known as vhost) is a configuration that allows you to host multiple websites or domains on the same server. To create a virtual host in Nginx, create a configuration file in the /etc/nginx/sites-available directory with the domain name of your website (e.g.

The configuration file should include the server_name directive, which will define the name of the website or domain that is hosted. It should also include the root directive, which will specify the directory where the website files are located.

The server blocks in the configuration file should also include directives to set the server_name, root directory, access logging, error logging, and other settings. Here is a sample configuration file for a virtual host in Nginx:

server {
listen 80;
root /var/www/;
access_log /var/log/nginx/;
error_log /var/log/nginx/;

Once you have created the configuration file, you must create a symbolic link in the /etc/nginx/sites-enabled directory to enable the virtual host configuration. To do this, run the following command in a terminal window:

sudo ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/

You should also test to make sure that the configuration is valid. To do this, run the command:

sudo nginx -t

If the configuration is valid, you should see the “test is successful” message in the output. If you see any errors, make sure that the configuration file is valid before proceeding.

Restart Nginx

After you have successfully created the virtual host configuration and enabled the virtual host, you must restart Nginx to apply the changes. To restart Nginx on Ubuntu 18.04, run the command:

sudo systemctl restart nginx

After the server has been restarted, you can verify that the website is working by opening it in a web browser.


In this tutorial, you learned how to install and configure Nginx on Ubuntu 18.04. You also learned how to create a virtual host in Nginx and how to restart the server. If you have any questions, feel free to leave a comment below.


Q: How do I uninstall Nginx?

A: To uninstall Nginx on Ubuntu 18.04, run the command sudo apt-get remove nginx.

Q: How do I configure Nginx to serve static files?

A: To serve static files with Nginx, add a location directive to the server block of your configuration file. For example:

location /static/ {
root /var/www/;

This will serve files located in the /var/www/ directory.

Q: How do I enable HTTPS with Nginx?

A: To enable HTTPS with Nginx, you will need to install and configure an SSL certificate. Once you have obtained the certificate and private key, you can add the following directives to your server block configuration file:

listen 443 ssl;
ssl_certificate path/to/certificate.pem;
ssl_certificate_key path/to/private.key;

You can also enable HSTS by adding the following directive:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";

For more information, refer to the official Nginx documentation.

Q: How do I optimize performance with Nginx?

A: To optimize performance with Nginx, you should consider enabling Gzip compression and configuring caching. Gzip compression will reduce the size of the response body, which will reduce the time it takes to transfer the response. Caching will reduce the amount of work that the server

Leave a Reply

Your email address will not be published. Required fields are marked *