0% found this document useful (0 votes)
299 views

How To Install and Configure Nginx On Ubuntu 20

Nginx is a free, open-source web server that can function as a reverse proxy, load balancer, and web server. This document provides steps to install and configure Nginx on Ubuntu 20.04, including updating repositories, installing Nginx, verifying the installation, controlling the Nginx service, allowing firewall access, testing Nginx, and optionally configuring a server block. Key files and directories for Nginx configurations and logs are also outlined.

Uploaded by

hardiandhella
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
299 views

How To Install and Configure Nginx On Ubuntu 20

Nginx is a free, open-source web server that can function as a reverse proxy, load balancer, and web server. This document provides steps to install and configure Nginx on Ubuntu 20.04, including updating repositories, installing Nginx, verifying the installation, controlling the Nginx service, allowing firewall access, testing Nginx, and optionally configuring a server block. Key files and directories for Nginx configurations and logs are also outlined.

Uploaded by

hardiandhella
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

How to Install and Configure Nginx on Ubuntu 20.

04

Introduction

Nginx is a free, open-source Linux application for web servers. It works as a reverse proxy
server by directing web traffic to specific servers.

Nginx is used for security and load-balancing, but can also function independently as a web
server.

This guide will help you install Nginx on Ubuntu 20.04 Linux (Focal Fossa).

Prerequisites

 A system running Ubuntu 20.04 Linux


 A user account with sudo or root privileges
 Access to a terminal window / command line (click Activities > Search
> type Terminal)

Step 1: Update Software Repositories


It is important to refresh the repository lists before installing new software. This helps make
sure that the latest updates and patches are installed.

Open a terminal window and enter the following:

sudo apt-get update


Allow the process to finish.

Step 2: Install Nginx From Ubuntu Repositories


Nginx is included in the Ubuntu 20.04 default repositories. Install it by entering the following
command:

sudo apt-get install nginx

Note: If the system generates an error about the lock file, please see How To Fix Could Not
Get Lock /Var/Lib/Dpkg/Lock Error for suggestions.

Step 3: Verify the Installation


Verify that Nginx installed correctly by checking the software version. Enter the following:

nginx -v

The system should display the software version of Nginx.


Step 4: Controlling the Nginx Service
The behavior of Nginx can be adjusted. Use this to start or stop Nginx, or to enable or disable
Nginx at boot.

Start by checking the status of the Nginx service:

sudo systemctl status nginx

If the status displays active (running), Nginx has already been started. Press CTRL+z to
exit the status display.

If Nginx is not running, use the following command to launch the Nginx service:

sudo systemctl start nginx

To set Nginx to load when the system starts, enter the following:

sudo systemctl enable nginx

To stop the Nginx service, enter the following:

sudo systemctl stop nginx

To prevent Nginx from loading when the system boots:

sudo systemctl disable nginx

To reload the Nginx service (used to apply configuration changes):


sudo systemctl reload nginx

For a hard restart of Nginx:

sudo systemctl restart nginx

Step 5: Allow Nginx Traffic


Nginx needs access through the system’s firewall. To do this, Nginx installs a set of profiles
for the Ubuntu default ufw (UnComplicated Firewall).

Start by displaying the available Nginx profiles:

sudo ufw app list

The system should display the following:

Note: Other applications may be listed. They can be ignored.

To grant Nginx access through the default Ubuntu firewall, enter the following:

sudo ufw allow 'nginx http'

The system should display Rules updated.

Refresh the firewall settings by entering:

sudo ufw reload

For encrypted (https) traffic, enter:

sudo ufw allow 'nginx https'


To allow both, enter:

sudo ufw allow 'nginx full'

Note: It is recommended that you only allow the bare minimum required traffic through the
firewall. For this process, only basic HTTP traffic is needed. Other configurations may
require HTTPS (encrypted) or other traffic. If the system uses a different firewall, it should
be configured to allow traffic on Port 80 (HTTP), Port 443 (HTTPS), or whatever ports are
required by the network.

Step 6: Test Nginx


Make sure that the Nginx service is running, as in Step 4. Open a web browser, and navigate
to the following web address:

http://127.0.0.1

The system should display the Nginx welcome page.

Note: If the system has a specific hostname or IP address, that may be used instead.

If the system does not have a graphical interface, the Nginx Welcome page can be loaded in
the terminal using curl:

sudo apt-get install curl


curl –i 127.0.0.1

The system should display the HTML code for the Nginx Welcome page.
Step 7: Configure a Server Block (Optional)
In Nginx, a server block is a configuration that works as its own server. By default, Nginx has
one server block preconfigured.

It is located at /var/www/html. However, it can be configured with multiple server blocks for
different sites.

Note: This tutorial uses test_domain.com for the domain name. This may be replaced with
your own domain name.

1. Create a Directory for the Test Domain

In a terminal window, create a new directory by entering the following:

sudo mkdir -p /var/www/test_domain.com/html

2. Configure Ownership and Permissions


Use chmod to configure ownership and permission rules:

sudo chown –R $USER:$USER /var/www/test_domain.com


sudo chmod –R 755 /var/www/test_domain.com

Note: Read our article to learn how to use chmod recursively.

3. Create an index.html File for the Server Block

Open index.html for editing in a text editor of your choice (we will use the Nano text editor):

sudo nano /var/www/test_domain.com/html/index.html

In the text editor, enter the following HTML code:

<html>
<head>
<title>Welcome to test_domain.com!</title>
</head>
<body>
<h1>This message confirms that your Nginx server block is working.
Great work!</h1>
</body>
</html>

Press CTRL+o to write the changes, then CTRL+x to exit.

4. Create Nginx Server Block Configuration

Open the configuration file for editing:

sudo nano /etc/nginx/sites-available/test_domain.com

Enter the following code:

server    {
listen 80;
 
root /var/www/test_domain.com/html;
index index.html index.htm index.nginx.debian.html;
 
server_name test_domain.com www.test_domain.com;
location /          {
try_files $uri $uri/ =404;
}
}
5. Create Symbolic Link for Nginx to Read on Startup

Create a symbolic link between the server block and the startup directory by entering the
following:

sudo ln –s /etc/nginx/sites-available/test_domain.com /etc/nginx/sites-


enabled

6. Restart the Nginx Service

Restart Nginx by running the following command:

sudo systemctl restart nginx

7. Test the Configuration


sudo nginx –t

The system should report that the configuration file syntax is OK, and that the configuration
file test is successful.

8. Modify the Hosts File (Optional)

If you’re using a test domain name that isn’t registered or public, the /etc/hosts file may need
to be modified to display the test_domain.com page.

Display the system’s IP address with the following command:

hostname –i

Make a note of the IP address displayed.


Next, open /etc/hosts for editing:

sudo nano /etc/hosts

In an empty space just below the localhost information, add the following line:

127.0.1.1 test_domain.com www.test_domain.com

Replace 127.0.1.1 with the IP address displayed above. Press CTRL+o to save the changes,
then CTRL+x to exit.

9. Check test_domain.com in a Web Browser

Open a browser window and navigate to test_domain.com (or the domain name you
configured in Nginx).

You should see the message you entered in Part 3.

Important Nginx File Locations


By default, Nginx stores different configuration and log files in the following locations:


o
 /var/www/html – Website content as seen by visitors.
 /etc/nginx – Location of the main Nginx application files.
 /etc/nginx/nginx.conf – The main Nginx configuration file.
 /etc/nginx/sites-available – List of all websites configured through
Nginx.
 /etc/nginx/sites-enabled – List of websites actively being served by
Nginx.
 /var/log/nginx/access.log – Access logs tracking every request to your
server.
 /var/log/ngins/error.log – A log of any errors generated in Nginx.

Conclusion

You should now have a working installation of Nginx on Ubuntu 20.04. As a bonus, you
should now have an introduction to setting up an Nginx server block.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy