Installing Nginx Web Server on Ubuntu 26.04

Published: (May 13, 2026 at 05:43 PM EDT)
3 min read
Source: Dev.to

Source: Dev.to

Install Nginx

Nginx is available in Ubuntu 26.04’s default APT repository.

1. Update the APT package index

sudo apt update

2. Install Nginx

sudo apt install nginx -y

3. Verify the installed version

nginx -version

Configure Nginx as a System Service

Enable Nginx to start automatically when the server boots.

1. Enable and start the service

sudo systemctl enable nginx
sudo systemctl start nginx

2. Check the service status

sudo systemctl status nginx

3. Stop or restart the service when needed

sudo systemctl stop nginx
sudo systemctl restart nginx

Configure Firewall Rules

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Open http://YOUR-SERVER-IP in a browser. The Nginx default page confirms the service is running.


Create a Virtual Host

Virtual hosts let Nginx serve different sites from the same server.

1. Create the web root directory

sudo mkdir -p /var/www/app.example.com
sudo chown -R www-data:www-data /var/www/app.example.com

2. Create a sample HTML page

sudo nano /var/www/app.example.com/index.html

My App

## Hello World from Nginx on Ubuntu 26.04

3. Create the virtual host configuration

sudo nano /etc/nginx/sites-available/app.example.com.conf
server {
    listen 80;
    server_name app.example.com;
    root /var/www/app.example.com;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }

    access_log /var/log/nginx/app.example.com-access.log;
    error_log /var/log/nginx/app.example.com-error.log;
}

4. Enable the site, test the configuration, and reload

sudo ln -s /etc/nginx/sites-available/app.example.com.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Verify the virtual host is serving:

curl http://app.example.com

Secure with Let’s Encrypt SSL

1. Install Certbot with the Nginx plugin

sudo apt install certbot python3-certbot-nginx -y

2. Generate and install the certificate

sudo certbot --nginx -d app.example.com --agree-tos

Certbot obtains the certificate, updates the virtual host to enable HTTPS, and configures an HTTP‑to‑HTTPS redirect automatically.

3. Test the auto‑renewal timer

sudo certbot renew --dry-run

If the dry run completes without errors, automatic renewal is configured correctly.


Next Steps

Nginx is now running and serving your domain over HTTPS. From here you can:

  • Add PHP via PHP‑FPM to serve dynamic content alongside Nginx
  • Configure Nginx as a reverse proxy in front of a Node.js or Python application
  • Enable HTTP/2 support by adding http2 to the listen directive

For the full guide with additional tips, visit the original article on Vultr Docs.

0 views
Back to Blog

Related posts

Read more »

Installing PostgreSQL on Ubuntu 26.04

Overview PostgreSQL is a powerful open‑source relational database known for extensibility, standards compliance, and support for advanced data types such as JS...

Adding zstd support to nginx

!Cover image for Adding zstd support to nginxhttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-u...