Skip to main content

Command Palette

Search for a command to run...

Installing Nginx Web Server on Ubuntu 26.04

Step-by-step guide to install Nginx on Ubuntu 26.04, configure a virtual host for your domain, secure the site with a free Let's Encrypt SSL certificate, and verify the setup.

Updated
3 min read
Installing Nginx Web Server on Ubuntu 26.04
A
DevOps Engineer with experience in Kubernetes, automation, cloud infrastructure, and observability. I work in Developer Relations, contribute to technical documentation, and collaborate on engineering-focused projects.
S
A Developer Advocate with a focus on improving the developer experience through clear communication, technical enablement, and community engagement.

Nginx is a high-performance web server built for concurrency, powering content delivery, reverse proxying, and load balancing at scale. This guide goes beyond a basic install: it configures a virtual host for your domain and secures it with a free Let's Encrypt SSL certificate, following web server setup practices documented in Vultr Docs.


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
<!DOCTYPE html>
<html>
<head><title>My App</title></head>
<body><h1>Hello World from Nginx on Ubuntu 26.04</h1></body>
</html>

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.

Ubuntu 26.04 Server Guides

Part 13 of 19

A complete collection of server setup and configuration guides for Ubuntu 26.04 LTS. This series covers the full infrastructure stack including web servers, databases, container runtimes, application platforms, networking, and system utilities, all tested on live Vultr cloud instances.

Up next

Installing PHP and PHP-FPM on Ubuntu 26.04

Step-by-step guide to install PHP 8.5 and PHP-FPM on Ubuntu 26.04, add common extensions, configure the FPM process pool, and integrate with Nginx for FastCGI-based request processing.

More from this blog

V

Vultr

81 posts

Vultr is a global cloud infrastructure provider trusted by developers and businesses in 185+ countries. We publishe hands-on guides spanning Linux administration, server configuration, DevOps, networking, open source stacks, AI code agents, and Vultr product walkthroughs, all tested against real cloud environments and built for engineers who ship.