Yet another Nginx Web UI, được phát triển bởi 0xJacky và Hintay.
Để xem tài liệu, hãy truy cập nginxui.com.
English | Español | 简体中文 | 繁體中文 | Tiếng Việt
Mục lục
- Username:admin
- Password:admin
- Thống kê trực tuyến cho các chỉ số máy chủ như mức sử dụng CPU, mức sử dụng bộ nhớ, mức tải trung bình và mức sử dụng ổ đĩa.
- Chat với trợ lý ChatGPT
- Triển khai bằng một cú nhấp chuột và tự động gia hạn chứng chỉ Let's Encrypt.
- Chỉnh sửa cấu hình Nginx từ UI với NgxConfigEditor tự thiết kế của chúng tôi, một trình chỉnh sửa khối thân thiện với người dùng cho cấu hình nginx hoặc Ace Code Editor hỗ trợ làm nổi bật cú pháp cấu hình nginx.
- Xem Nginx logs
- Được viết bằng Go và Vue, và được phân phối với một tệp nhị phân thực thi duy nhất.
- Tự động kiểm tra file cấu hình và tải lại nginx sau khi lưu cấu hình.
- Web Terminal
- Dark Mode
- Responsive Web Design
- Tiếng Việt
- Tiếng Anh
- Tiếng Nga
- Tiếng Pháp
- Tiếng Tây Ban Nha
- Tiếng Trung giản thể
- Tiếng Trung phồn thể
Chúng tôi hoan nghênh bản dịch sang bất kỳ ngôn ngữ nào.
- The Go Programming Language
- Gin Web Framework
- GORM
- Vue 3
- Vite
- TypeScript
- Ant Design Vue
- vue3-gettext
- vue3-ace-editor
- Gonginx
Máy chủ của bạn sẽ cần phải cài Nginx trước khi cài đặt Nginx UI
Nginx UI tuân theo tiêu chuẩn tệp cấu hình máy chủ web Debian. Các tệp cấu hình trang web đã tạo sẽ được đặt trong thư mục /etc/nginx/sites-available (được phát hiện tự động). Các tệp cấu hình cho một trang web được kích hoạt sẽ tạo một symlink đến thư mục /etc/nginx/sites-enabled. Bạn có thể cần điều chỉnh cách sắp xếp các tệp cấu hình của mình.
Đối với các hệ thống không phải Debian (và Ubuntu), bạn có thể cần thay đổi nội dung của tệp cấu hình nginx.conf thành kiểu Debian như hiển thị bên dưới.
http {
# ...
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Để biết thêm thông tin: debian/conf/nginx.conf
Giao diện người dùng Nginx có sẵn trên các nền tảng sau:
- macOS 11 Big Sur and later (amd64 / arm64)
- Linux 2.6.23 and later (x86 / amd64 / arm64 / armv5 / armv6 / armv7)
- Bao gồm nhưng không giới hạn Debian 7/8, Ubuntu 12.04/14.04 trở lên, CentOS 6/7, Arch Linux
- FreeBSD
- OpenBSD
- Dragonfly BSD
- Openwrt
Bạn có thể truy cập latest release để tải xuống bản phân phối mới nhất hoặc sử dụng Tập lệnh cài đặt cho Linux.
Trong lần chạy đầu tiên, vui lòng truy cập http://<your_server_ip>:<listen_port>
bằng trình duyệt của bạn để hoàn tất các cấu hình.
Chạy giao diện người dùng Nginx trong Terminal
nginx-ui -config app.ini
Bấm Ctrl + C
vào terminal để thoát Nginx UI.
Chạy nền (Background)
nohup ./nginx-ui -config app.ini &
Dừng Nginx UI bằng lệnh sau.
kill -9 $(ps -aux | grep nginx-ui | grep -v grep | awk '{print $2}')
Nếu bạn sử dụng tập lệnh cài đặt cho Linux, Nginx UI sẽ được cài đặt dưới dạng nginx-ui
service trong systemd. Hãy sử dụng systemctl
để điều khiển nó.
Start Nginx UI
systemctl start nginx-ui
Stop Nginx UI
systemctl stop nginx-ui
Restart Nginx UI
systemctl restart nginx-ui
Docker image của chúng tôi uozi/nginx-ui:latest dựa trên nginx image mới nhất và có thể được sử dụng để thay thế Nginx trên máy chủ. Bằng cách xuất bản cổng 80 và 443 của container, bạn có thể dễ dàng thực hiện chuyển đổi.
- Khi khởi chạy container lần đầu tiên, hãy chắc chắn thư mục /etc/nginx trên máy host là rỗng.
- Nếu bạn muốn lưu trữ các tệp tĩnh, bạn có thể mount các thư mục vào container.
Triển khai với Docker
-
Sau đó triển khai nginx-ui như thế sau:
docker run -dit \
--name=nginx-ui \
--restart=always \
-e TZ=Asia/Shanghai \
-v /mnt/user/appdata/nginx:/etc/nginx \
-v /mnt/user/appdata/nginx-ui:/etc/nginx-ui \
-p 8080:80 -p 8443:443 \
uozi/nginx-ui:latest
- Khi container đã hoạt động, truy cập vào trang quản trị nginx-ui theo liên kết
http://<your_server_ip>:8080/install
.
Triển khai với Docker-Compose
-
Tạo tệp docker-compose.yml:
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'
ports:
- 8080:80
- 8443:443
image: 'uozi/nginx-ui:latest'
- Sau đó tạo container bằng lệnh:
docker compose up -d
- Khi container đã hoạt động, truy cập vào trang quản trị nginx-ui theo liên kết
http://<your_server_ip>:8080/install
.
Trên các nền tảng không có phiên bản xây dựng chính thức, chúng có thể được xây dựng thủ công.
-
Make
-
Golang 1.23+
-
node.js 21+
npx browserslist@latest --update-db
Vui lòng thực hiện lệnh sau trong thư mục app
.
pnpm install
pnpm build
Vui lòng build Frontend trước, sau đó thực hiện lệnh sau trong thư mục gốc của dự án.
go build -tags=jsoniter -ldflags "$LD_FLAGS -X 'github.com/0xJacky/Nginx-UI/settings.buildTime=$(date +%s)'" -o nginx-ui -v main.go
Cài đặt và nâng cấp
bash <(curl -L -s https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) install
Port mặc định để truy cập UI là 9000
, port HTTP Challenge mặc định để xác thực SSL là 9180
.
Nếu có xung đột port, vui lòng sửa đổi trong file /usr/local/etc/nginx-ui/app.ini
,
hãy nhớ restart nginx-ui bằng lệnh systemctl restart nginx-ui
mỗi khi bạn sửa đổi file app.ini.
Gỡ bỏ Nginx UI nhưng giữ lại các tệp cấu hình và cơ sở dữ liệu
bash <(curl -L -s https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) remove
Gỡ bỏ Nginx UI đồng thời xoá các tệp cấu hình, cơ sở dữ liệu
bash <(curl -L -s https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) remove --purge
bash <(curl -L -s https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) help
server {
listen 80;
listen [::]:80;
server_name <your_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 <your_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/;
}
}
Đóng góp là điều khiến cộng đồng nguồn mở trở thành một nơi tuyệt vời để học hỏi, truyền cảm hứng và sáng tạo. Bất kỳ đóng góp nào bạn thực hiện đều được đánh giá cao.
Nếu bạn có đề xuất giúp dự án tốt hơn, vui lòng phân nhánh repo và tạo pull request. Bạn cũng có thể mở một issue mới với thẻ "enhancement" để đề xuất tính năng. Đừng quên cho dự án một Star! Cảm ơn một lần nữa!
- Fork dự án
- Tạo Branch (
git checkout -b feature/AmazingFeature
) - Commit thay đổi (
git commit -m 'Add some AmazingFeature'
) - Đẩy code lên Branch (
git push origin feature/AmazingFeature
) - Mở một Pull Request
Dự án này được cung cấp theo giấy phép GNU Affero General Public License v3.0 có thể tìm thấy trong tệp LICENSE. Bằng cách sử dụng, phân phối hoặc đóng góp cho dự án này, bạn đồng ý với các điều khoản và điều kiện của giấy phép này.