YouTube Icon

Code Playground.

How to Install Nginx on Ubuntu 18.04


How to Install Nginx on Ubuntu 18.04

Nginx articulated "motor x" is a free, open-source, superior HTTP and converse intermediary worker answerable for dealing with the heap of probably the biggest locales on the Internet. 

Nginx can be utilized as an independent web worker, and as a converse intermediary for Apache and other web workers. 

Contrasted with Apache, Nginx can deal with a much enormous number of simultaneous associations and has a more modest memory impression per association. 

This instructional exercise will plot the means needed to introduce Nginx on a Ubuntu 18.04 machine. 


Prior to beginning with the instructional exercise, ensure you are signed in as a client with sudo advantages and you don't have Apache or some other web worker running on port 80 or 443. 

Installing Nginx

Nginx bundles are accessible in the default Ubuntu archives. The establishment is really clear. 

We'll begin by refreshing the bundles rundown and afterward introduce Nginx: 

sudo apt update
sudo apt install nginx

When the establishment is finished, Nginx administration will begin consequently. You can check the status of the administration with the accompanying order: 

sudo systemctl status nginx

The yield will look something like this: 

? nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2018-04-29 06:43:26 UTC; 8s ago
     Docs: man:nginx(8)
  Process: 3091 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 3080 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 3095 (nginx)
    Tasks: 2 (limit: 507)
   CGroup: /system.slice/nginx.service
           ??3095 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ??3097 nginx: worker process

Configuring firewall

Accepting you are utilizing UFW to deal with your firewall, you'll need to open HTTP (80) and HTTPS (443) ports. You can do that by empowering the 'Nginx Full' profile which incorporates rules for the two ports: 

sudo ufw allow 'Nginx Full'

To check the status type: 

sudo ufw status

The yield will look something like the accompanying: 

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
Nginx Full (v6)            ALLOW       Anywhere (v6)

Test the Installation

To test your new Nginx establishment open http://YOUR_IP in your program of decision, and you will be given the default Nginx presentation page as appeared on the picture underneath: 

Managing Nginx Service

You can deal with the Nginx administration similarly as some other systemd administration. 

To stop the Nginx administration, run: 

sudo systemctl stop nginx

To start it again, type:

sudo systemctl start nginx

To restart the Nginx administration : 

sudo systemctl restart nginx

Reload the Nginx administration after you have made some design changes: 

sudo systemctl reload nginx

Of course Nginx administration will begin on boot. On the off chance that you need to incapacitate the Nginx administration to begin at boot: 

sudo systemctl disable nginx

What's more, to re-empower it once more: 

sudo systemctl enable nginx

Nginx Configuration File’s Structure and Best Practices

  • All Nginx design documents are situated in the/and so forth/nginx registry. 
  • The principle Nginx design record is/and so forth/nginx/nginx.conf. 
  • To make Nginx setup simpler to keep up it is prescribed to make a different design record for every space. You can have the same number of worker block documents as you need. 
  • Nginx worker block records are put away in/and so forth/nginx/locales accessible catalog. The design records found in this registry are not utilized by Nginx except if they are connected to the/and so forth/nginx/destinations empowered index. 
  • To actuate a worker block you need to make a symlink (a pointer) from the setup record destinations in a locales accessible catalog to the locales empowered registry. 
  • It is prescribed to observe the standard naming show, for instance in the event that your area name is, at that point your setup document should be named/and so forth/nginx/locales accessible/ 
  • The/and so on/nginx/bits catalog contains setup scraps that can be remembered for the worker block records. On the off chance that you utilize repeatable arrangement sections, at that point you can refactor those fragments into scraps and incorporate the bit record to the worker blocks. 
  • Nginx log records (access.log and error.log) are situated in the/var/log/nginx catalog. It is prescribed to have an alternate access and blunder log documents for every worker block. 
  • You can set your space archive root registry to any area you need. The most widely recognized areas for webroot include: 
    • /home/<user_name>/<site_name> 
    • /var/www/<site_name> 
    • /var/www/html/<site_name> 
    • /pick/<site_name> 


Congrats, you have effectively introduced Nginx on your Ubuntu 18.04 worker. You're presently prepared to begin sending your applications and use Nginx as a web or intermediary worker. A protected testament is an absolute necessity have highlight for all sites these days, to protect your site with a free Let's Encrypt SSL authentication, you can follow this guide on protecting Nginx with Let's Encrypt on Ubuntu 18.04 . 

On the off chance that you expect to have various areas on your worker, you can check this instructional exercise and figure out how to make Nginx worker blocks.