
Nginx UI is an open-source web-based configuration management GUI for Nginx. It supports single-node and cluster node configurations with real-time server statistics, automatic TLS certificates with Let's Encrypt, Nginx performance monitoring, and integration with large language models (LLMs) to manage configurations on a server.
In this article, you will install Nginx UI on Ubuntu 24.04 to create and manage Nginx web server configurations using a web-based management interface. You will create virtual host configurations and configure Nginx UI to use a trusted certificate authority (CA) such as Let's Encrypt to manage TLS certificates for secure connections on your server.
Before you start, you need to:
nginx-ui.example.com.Nginx UI is not available in the default package repositories on Ubuntu. You can install Nginx UI using Docker or the latest stable release script. Choose one of the two methods covered in this section.
Update your system package index.
Install Nginx.
Follow the steps below to download the latest installation script and install Nginx UI to manage web server configurations. This method installs Nginx UI as a system service.
Download the latest Nginx UI installation script.
Execute the script using Bash with the install option.
Verify the installed Nginx UI version.
Output:
Start the Nginx UI service.
Check the Nginx UI service status and verify it's active.
Output:
Nginx UI listens on localhost port 9000 by default. Follow these steps to create a reverse proxy configuration with HTTPS using Let's Encrypt.
Navigate to the Nginx sites-available directory.
Create a new Nginx UI virtual host configuration.
Add the following reverse proxy configuration. Replace nginx-ui.example.com with your domain.
Save and close the file.
Remove the default configuration from sites-enabled.
Enable the Nginx UI virtual host configuration.
Test the Nginx configuration for errors.
Output:
Restart Nginx to apply the configuration.
Install Certbot and the Nginx plugin.
Configure the firewall to allow HTTP and HTTPS traffic.
Reload the firewall.
Generate a Let's Encrypt TLS certificate. Replace nginx-ui.example.com with your domain and admin@example.com with your email.
Restart the nginx-ui service.
You can now access the Nginx UI web interface using HTTPS on your domain. Follow these steps to complete the initial setup.
Access your domain using a web browser.
Verify the system information page displays without errors, then click Next.
Create an administrator account by entering:
Click Install to apply the configuration.
Log in with your administrator credentials.
Verify the dashboard displays server statistics, including uptime, memory, storage, and network information.
Click Nginx in the navigation menu to monitor web server performance.
Toggle Enable stub_status module to enable Nginx monitoring.
Nginx UI supports automatic TLS certificate management with Let's Encrypt and other certificate authorities. To configure certificate management, follow these steps.
Navigate to Certificates in the main menu.
Click Certificates List to view existing certificates.
Click Import to add existing certificates or Issue Certificate to generate new ones.
Navigate to DNS Credentials to configure DNS provider APIs for wildcard certificates.
Click Add to configure your DNS provider.
Navigate to ACME User to manage certificate authority accounts.
Click Add to create an ACME user:
https://acme-v02.api.letsencrypt.org/directory from the CA Dir dropdown
Toggle Register on Startup to enable automatic registration.
Click Save to create the ACME user.
Verify the ACME user status shows Valid.
Click View to check the ACME user details.
Follow these steps to create new virtual host configurations using Nginx UI.
Create a new subdomain DNS record pointing to your server's IP address. For example, app.example.com.
Navigate to Terminal in Nginx UI.
Create a directory for your web application.
Create a sample HTML file.
Add the following HTML content.
Save and close the file.
Set proper ownership permissions.
Navigate to Manage Sites in the main menu.
Click Sites List to view existing configurations.
Click Add to create a new virtual host.
Configure the virtual host:
server_name field/var/www/app.example.com in the root field
Set the index file order: index.html, index.htm, index.php.
Click Next to configure TLS.
Toggle Enable TLS and click OK.
Toggle Encrypt website with Let's Encrypt and click OK.
Configure Let's Encrypt settings:
Click Next and monitor the certificate generation.
Close the Let's Encrypt dialog and verify the certificate details.
Click Next to apply the configuration.
Verify the virtual host status shows Enabled.
Click Edit to modify the configuration if needed.
Toggle Basic Mode to switch to Advanced Mode for raw configuration access.
Access your virtual host domain to verify the configuration.
In this article, you have installed Nginx UI on Ubuntu 24.04 and managed Nginx configurations on your server. You can use Nginx UI to manage users, advanced Nginx configurations, virtual host configurations, create backups, and monitor the Nginx web server performance using logs. In addition, you can integrate Nginx UI with MCP and use large language models (LLMs) to manage your configurations using the chat feature within the web dashboard. For more information and configurations, visit the Nginx UI documentation.
0 Comments
Be the first to comment and share your perspective with the community.