Installing Nginx on Ubuntu 18.04
What is Nginx?
Nginx is a lightweight, open source, high-performance web server designed for serving dynamic and static web content. It is capable of handling a large number of simultaneous connections, making it one of the most popular web servers for powering modern websites.
Nginx is typically used in conjunction with a web application framework such as PHP or Rub. It can also be used as an application server to serve dynamic web content. In addition, Nginx can be used as a reverse proxy server to provide additional services such as caching, load balancing, and SSL termination.
In this tutorial, we will show you how to install Nginx on an Ubuntu 18.04 server.
Prerequisites
Before you begin, you will need:
- A server running Ubuntu 18.04.
- Non-root user with sudo privileges.
You can learn how to create a user with sudo privileges by following the steps in the Initial Server Setup guide for Ubuntu 18.04 server.
Installing Nginx
The Nginx web server is available in Ubuntu’s default repositories, making it possible to install it using conventional package management tools.
By default, the latest version of Nginx available in the Ubuntu 18.04 repositories is 1.14.0. This version may not be the latest version available, but it is stable and supported. We will be using it for this guide.
You can check what version is available for Ubuntu by running the following apt command:
sudo apt update
sudo apt show nginx
Once you have confirmed that the version is the one you want, you can proceed to install Nginx with the following apt command:
sudo apt install nginx
Once the installation is complete, the Nginx service will start automatically. You can verify this by running the following command:
systemctl status nginx
If the service is running, you will see output similar to 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 Mon 2021-02-12 18:47:23 UTC; 4min 8s ago
Docs: man:nginx(8)
Process: 2224 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 2220 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 2242 (nginx)
Tasks: 2 (limit: 3125)
CGroup: /system.slice/nginx.service
├─2242 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─2243 nginx: worker process
Now that the Nginx web server is installed and running, we can move on to configuring it.
Configuring Nginx
By default, the configuration files for Nginx are located in the /etc/nginx directory. Within this Directory, there are several different directories containing files that are used to configure different aspects of Nginx.
The main configuration file is /etc/nginx/nginx.conf. This is the file where you will find all of the main settings for Nginx. In this file, you can adjust the number of worker processes, the log file locations, and set up other options such as using SSL.
In addition to the nginx.conf file, there are other configuration files located in the /etc/nginx directory.
- sites-available: This directory contains configuration files for individual virtual hosts.
- sites-enabled: This directory contains symlinks to the configuration files in the sites-available directory. This allows you to easily enable or disable virtual hosts.
- conf.d: This directory contains configuration files for specific modules. These modules may be provided by a third party.
- proxy.d: This directory contains configuration files for reverse proxy configuration.
If you want to make changes to the configuration of Nginx, you should edit the files in the sites-available directory. This is the recommended way of editing the configuration files. To make the changes active, you will need to create a symlink to the file in the sites-enabled directory.
Testing Nginx
Once you have made the changes to the configuration file, you can test to make sure that they are valid by running the following command:
sudo nginx -t
If the configuration is correct, you will see output similar to the following:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
If there are any errors in the configuration, they will be outputted on the command line. You can then go back and adjust the configuration files accordingly.
Once you have corrected any errors, you can reload the Nginx process with the following command:
sudo systemctl reload nginx
Managing the Nginx Service
Once the Nginx service is installed, you can manage it using the systemctl command.
- To start the service, use the following command:
sudo systemctl start nginx
- To stop the service, use the following command:
sudo systemctl stop nginx
- To restart the service, use the following command:
sudo systemctl restart nginx
- To reload the configuration, use the following command:
sudo systemctl reload nginx
- To enable the service to start at boot, use the following command:
sudo systemctl enable nginx
- To disable the service from starting at boot, use the following command:
sudo systemctl disable nginx
Conclusion
In this tutorial, you have learned how to install and configure Nginx on an Ubuntu 18.04 server. You have also learned how to manage the Nginx service using the systemctl command.
Thank you for reading this article. If you need help setting up an Nginx server or have questions about Nginx, please feel free to leave a comment below. Please also check out our other Nginx articles for more information.
Related Posts:
- Vps Webserver Nginx Php7 Mysql Vps Webserver Nginx Php7 Mysql What Is VPS Webserver? A VPS webserver is a Virtual Private Server (VPS) that has been configured to act as a web server. A VPS…
- Nginx Access To Xmlhttprequest At Nginx Access To Xmlhttprequest At What is Nginx? Nginx is an open source web server and proxy server software that is designed for both high-performance web applications and for scalability.…
- Ingress Nginx Always Default Backend 404 Ingress Nginx Always Default Backend 404 What is Nginx? Nginx is an open-source web server software developed by Igor Sysoev in 2004. It is highly efficient, serving static content and…
- Mac Os X Nginx Conf Location Mac OS X Nginx Conf Location What is Nginx? Nginx is a high-performance web server and reverse proxy originally written for Linux, but now it’s also available for Mac OS…
- Install Nginx And Php On Ubuntu Install Nginx And Php On Ubuntu A Comprehensive Tutorial to Install Nginx And Php On Ubuntu Nginx and PHP are two of the most popular web server and scripting language…
- Nginx Client Intended To Send Too Large Body Nginx Client Intended To Send Too Large Body What is Nginx? Nginx is an open-source web server originally created by Igor Sysoev in 2004. It is one of the most…
- Nginx Vs Apache Performance 2019 Nginx Vs Apache Performance 2019 What is Nginx? Nginx (pronounced engine-x) is a free, open-source, high-performance HTTP server and reverse proxy. It is much faster than Apache and has been…
- Install Nginx On Centos 6 Install Nginx on CentOS 6 What is Nginx? Nginx is a web server and a reverse proxy server for HTTP, HTTPS, SMTP, POP3 and IMAP protocols, with a strong focus…
- Centos7 Nginx Php-Fpm Sock CentOS7 Nginx Php-Fpm Sock What is CentOS? CentOS (Community ENTerprise Operating System) is a Linux distribution that provides a free, enterprise-class, community-supported computing platform functionally compatible with its upstream source,…
- Google Cloud Ubuntu 16 Install Nginx Php Google Cloud Ubuntu 16 Install Nginx Php 1. What is Nginx? Nginx is a powerful open source web server. It is used to serve web pages to the internet and…
- Install Nginx Di Whm Domainesia Install Nginx Di Whm Domainesia Install Nginx Di Whm Domainesia Introduction to Nginx Nginx (engine x) is a popular open-source, high-performance web server written in C. Its main goal is…
- Node Js Nginx 502 Bad Gateway Node Js Nginx 502 Bad Gateway What is Node JS Nginx 502 Bad Gateway Error? A Node JS Nginx 502 bad gateway error is an HTTP status code that signals…
- The Serve Sha2 Nginx Code Igniter The Serve Sha2 Nginx Code Igniter What is Serve Sha2 Nginx Code Ignitor? Serve Sha2 Nginx Code Igniter is a completely open source web application development framework that enables developers…
- Nginx Listen Port 8080 With Ssl Nginx Listen Port 8080 With SSL Understanding Nginx Nginx (pronounced Engine-X) is a high-performance web server that is used for serving static content such as images, stylesheets and JavaScript. It…
- Nginx Proxy To Port 8080 Nginx Proxy To Port 8080 What is Nginx? Nginx is an open-source, high-performance web server developed in 2002 by Igor Sysoev and released publicly in 2004. It is a very…
- How To Run Service Nginx Docker How To Run Service Nginx Docker What is Nginx? Nginx is an open-source web server and reverse proxy created by Igor Sysoev in 2002. It has gained widespread popularity due…
- Ubuntu Server18 How To Enable Nginx Pdo Mysql Ubuntu Server18: How to Enable Nginx Pdo Mysql As a developer, you may have heard of Nginx, PDO, and MySQL – all are essential components of web applications. Nginx is…
- Setting Ssl Nginx Multiple Port Setting SSL Nginx Multiple Port What is SSL? Secure Sockets Layer (SSL) is a protocol used to secure data transmitted between two systems, such as a web server and a…
- Php-Fpm Cache Nginx Centos Php-Fpm Cache Nginx Centos Introduction to Nginx, Php-Fpm, and Centos Nginx, PHP-FPM, and Centos are three powerful, open-source technologies that are used to create powerful applications, websites, and services. Nginx…
- Install Laravel Nginx 16.04 Install Laravel Nginx 16.04 What is Laravel? Laravel is an open source PHP framework designed to organize, develop, and easily deploy modern web applications. It is built on the Model-View-Controller…
- Nginx 1.6.2 How To Resolve Nginx 1.6.2 How To Resolve What is Nginx? Nginx (pronounced "engine x") is a web server software application. It is a highly efficient and reliable server whose primary purpose is…
- Centos 7 Nginx Php Worker Process And Worker Connection Centos 7 Nginx PHP Worker Process And Worker Connection What is Nginx? Nginx (pronounced "engine-x") is an open source web server software designed with high performance, stability and low memory…
- No Max-Age Or Expires Nginx No Max-Age Or Expires Nginx What is an Nginx Server? Nginx is an high-performance web server that is designed for serving static and dynamic content quickly. Nginx is currently used…
- Url Not Found Di Nginx Url Not Found Di Nginx What Is Nginx? Nginx is an open source web server made by Igor Sysoev that has become the go-to web server for powering large web…
- Nginx More Than 4 Config Nginx More Than 4 Config Basics of Nginx Nginx is a powerful, open source web server. It is designed to be both efficient and secure. It is used to animate…
- How To Install Nginx On Centos 7.5 How To Install Nginx On Centos 7.5 What is Nginx - An Overview Nginx is a web server and reverse proxy application used for serving both static and dynamic web…
- Ubuntu Server Postgresql Nginx Php Ubuntu Server Postgresql Nginx Php Introduction Optimizing your server is one of the most important steps you can take when it comes to running a successful website or application. It…
- What Is Benefit Of Nginx What is the Benefit of Nginx? Overview of Nginx Nginx is a free, open source, high-performance HTTP server, reverse proxy, IMAP/POP3 proxy server, and load balancer. It runs on Linux,…
- 502 Bad Gateway Nginx Uwsgi Flask Sock 502 Bad Gateway Nginx Uwsgi Flask Sock What is Nginx? Nginx is an open source, high-performance web server. It is capable of handling a large number of concurrent connections and…
- Nginx Emerg Unknown Directive Proxy_Pass Nginx Emerg Unknown Directive Proxy_Pass What Is Nginx? Nginx (pronounced “engine-x”) is an open source web server that is used to power some of the most popular websites online. Nginx…