Skip to content

Latest commit

 

History

History
388 lines (293 loc) · 14.5 KB

README-vi_VN.md

File metadata and controls

388 lines (293 loc) · 14.5 KB
Nginx UI Logo

Nginx UI

Yet another Nginx Web UI, được phát triển bởi 0xJackyHintay.

Build and Publish GitHub license Release Version GitHub Star GitHub Fork Repo Size GitHub Fork

Docker Stars Docker Pulls Image Size

Tài liệu

Để xem tài liệu, hãy truy cập nginxui.com.

Stargazers over time

Stargazers over time

English | Español | 简体中文 | 繁體中文 | Tiếng Việt

Mục lục
  1. Thông tin dự án
  2. Bắt đầu
  3. Build từ mã nguồn
  4. Script cho Linux
  5. Ví dụ về cấu hình Nginx Reverse Proxy
  6. Đóng góp
  7. Giấy phép

Về dự án

Dashboard

Demo

URL:https://demo.nginxui.com

  • Username:admin
  • Password:admin

Tính năng

  • 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

Ngôn ngữ hiển thị

  • 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.

Được xây dựng với

Bắt đầu

Lưu ý trước khi sử dụng

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

Cài đặt

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.

Sử dụng

Trong lần chạy đầu tiên, vui lòng truy cập http://<your_server_ip>:<listen_port>/install bằng trình duyệt của bạn để hoàn tất các cấu hình.

Chạy với Executable

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}')

Chạy với Systemd

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

Sử dụng với Docker

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.

Ghi chú
  1. 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.
  2. 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
  1. Cài đặt Docker.

  2. 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
  1. 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
  1. Cài đặt Docker-Compose.

  2. Tạo tệp docker-compose.yml:

version: '3.3'
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'
  1. Sau đó tạo container bằng lệnh:
docker-compose up -d

Nếu bạn sử dụng docker-compose-plugin, lệnh sẽ như sau

docker compose up -d
  1. 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.

Xây dựng thủ công

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.

Điều kiện cần

  • Make

  • Golang 1.22+

  • node.js 21+

    npx browserslist@latest --update-db

Build Frontend

Vui lòng thực hiện lệnh sau trong thư mục app.

pnpm install
pnpm build

Build Backend

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

Tập lệnh cho Linux

Cách sử dụng cơ bản

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

Trợ giúp

bash <(curl -L -s https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) help

Ví dụ về cấu hình Nginx Reverse Proxy

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

Đó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!

  1. Fork dự án
  2. Tạo Branch (git checkout -b feature/AmazingFeature)
  3. Commit thay đổi (git commit -m 'Add some AmazingFeature')
  4. Đẩy code lên Branch (git push origin feature/AmazingFeature)
  5. Mở một Pull Request

Giấy phép

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.