PSB Hosting
How to Install and Configure Nginx on Ubuntu/Debian

How to Install and Configure Nginx on Ubuntu/Debian

  1. Home
  2. Blogs
  3. How to Install and Configure Nginx on Ubuntu/Debian

Nginx is one of the most popular web servers used for handling requests, load balancing, and working as a reverse proxy. Its high performance, flexibility, and stability make it an excellent choice for various tasks. This server successfully handles both small websites and large high-load projects. Let’s go through all the installation steps – from system preparation to fine-tuning the server.

VPS Virtual Servers

We provide VPS virtual servers powered by high-performance AMD and Intel processors. Our reliable infrastructure and high performance enable you to run web applications, databases, and server processes without limitations.

What is Nginx and What is it Used For?

Nginx is a web server that functions as a reverse proxy, load balancer, and caching server. It is designed to handle a large number of concurrent connections, making it an excellent choice for high-load projects.

  • Serving static content (HTML, CSS, JavaScript, images, videos)
  • Load balancing across multiple application servers
  • Configuring Nginx on Ubuntu to forward requests to internal services
  • Setting up caching to improve performance
  • Enhancing security by protecting against DDoS attacks

Preparing Ubuntu/Debian System

Before installation, it is recommended to update the system:

sudo apt update && sudo apt upgrade -y

Additionally, install necessary utilities:

sudo apt install curl software-properties-common -y

Installing Nginx

From the Standard Repository

The simplest way to install:

sudo apt get install nginx

From the Official Nginx Repository

To install the latest version, you can manually add the official Nginx repository.

Checking Nginx Status

After installation, verify that the server is running:

systemctl status nginx

You can also check the server's operation by opening a web browser and navigating to http://localhost.

Basic Nginx Management Commands

  • Start the server: start nginx
  • Stop the server: systemctl stop nginx
  • Restart the server: systemctl restart nginx
  • Reload configuration without disconnecting clients: systemctl reload nginx
  • Check the service status: systemctl status nginx

Configuring Nginx on Ubuntu

Configuration files are located in /etc/nginx/, with the main configuration file being /etc/nginx/nginx.conf.

Before making changes, create a backup:

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

Check the configuration for errors:

nginx -t

Setting Up Virtual Hosts

Virtual hosts allow multiple websites to run on a single server. Configuration files are placed in a dedicated folder.

Configuring Access Rights and Firewall

To ensure Nginx operates correctly, allow access through the firewall:

sudo ufw allow 'Nginx Full'

Check the status:

sudo ufw status

Final Steps

After configuring, check for errors:

nginx -t

Restarting the server will apply the settings:

systemctl restart nginx

Further Configuration Recommendations

Enabling SSL

For secure connections, you can install free SSL certificates from Let's Encrypt.

Configuring Nginx as a Reverse Proxy

Nginx can function as a reverse proxy, forwarding requests to another application.

Conclusion

Configuring Nginx is a crucial step for stable web server operation. After installation and basic setup, further adjustments can be made.

To improve performance, consider enabling gzip compression, activating HTTP/2, using caching, and implementing security measures against attacks.