How Nginx UI Transforms Nginx Management with a Visual, Automated Interface
This article introduces the open‑source Nginx UI tool, explains its key features such as real‑time metrics, automatic backups, cluster management, and AI assistance, and provides step‑by‑step installation guides for Linux scripts and Docker‑Compose, plus a full reverse‑proxy configuration example.
What is Nginx UI?
Nginx UI is an open‑source graphical interface for managing Nginx servers. It visualises configuration files, provides real‑time server metrics, and bundles utilities such as configuration backup, cluster mirroring, log viewing, and an integrated web terminal.
Key Features
Online server metrics : CPU, memory, load average and disk usage are displayed in real time.
Automatic configuration backup : Every change creates a backup; versions can be compared and restored.
Cluster management : Operations can be mirrored to multiple nodes.
Configuration export : Encrypted Nginx/Nginx‑UI configurations can be exported for rapid deployment.
Let’s Encrypt integration : One‑click SSL certificate issuance and automatic renewal.
Nginx log viewer : View logs directly in the UI.
Web terminal : Built‑in terminal for executing server commands.
GeoLite2 database : Provides IP‑to‑location data for offline log analysis.
Installation
Linux script (recommended)
# Install or upgrade Nginx UI
bash -c "$(curl -L https://cloud.nginxui.com/install.sh)" @ installThe service runs as a systemd unit listening on port 9000. To change the port, edit /usr/local/etc/nginx-ui/app.ini and restart the service: systemctl restart nginx-ui Additional commands:
# Remove Nginx UI but keep configuration and database files
bash -c "$(curl -L https://cloud.nginxui.com/install.sh)" @ remove
# Show help for other options
bash -c "$(curl -L https://cloud.nginxui.com/install.sh)" @ helpDocker‑Compose deployment
services:
nginx-ui:
stdin_open: true
tty: true
container_name: nginx-ui
restart: always
environment:
- TZ=Asia/Shanghai
volumes:
- '/mnt/user/appdata/nginx:/etc/nginx'
- '/mnt/user/appdata/nginx-ui:/etc/nginx-ui'
- '/var/www:/var/www'
- '/var/run/docker.sock:/var/run/docker.sock'
ports:
- 8080:80
- 8443:443
image: 'uozi/nginx-ui:latest'Start the container: docker compose up -d Access the installation wizard at http://SERVER_IP:8080/install.
Reverse‑proxy configuration (HTTPS)
server {
listen 80;
listen [::]:80;
server_name SERVER_NAME;
rewrite ^(.*)$ https://$host$1 permanent;
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name SERVER_NAME;
ssl_certificate /path/to/ssl_cert;
ssl_certificate_key /path/to/ssl_cert_key;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_pass http://127.0.0.1:9000/;
}
}Initial usage
After installation, open http://SERVER_IP:9000 to complete the initial setup. The UI provides a navigation pane for metrics, site configuration (two editing modes), log viewing, and the integrated terminal.
Project repository
https://github.com/0xJacky/nginx-uiSigned-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Xiao Liu Lab
An operations lab passionate about server tinkering 🔬 Sharing automation scripts, high-availability architecture, alert optimization, and incident reviews. Using technology to reduce overtime and experience to avoid major pitfalls. Follow me for easier, more reliable operations!
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
