alat konfigurasi web nginx
Grup pertukaran teknis QQ 1: 1106758598
Grup pertukaran teknis QQ 2: 560797506
Email: [email protected]
Alamat situs web resmi: https://www.nginxwebui.cn
Alamat versi profesional: https://pro.nginxwebui.cn
Gitee: https://gitee.com/cym1102/nginxWebUI
Github: https://github.com/cym1102/nginxWebUI
Video tutorialnya: https://www.bilibili.com/video/BV18A4y1D7GZ
Kode QR donasi WeChat
nginxWebUI adalah alat manajemen grafis untuk konfigurasi nginx. Anda dapat menggunakan halaman web untuk mengonfigurasi berbagai fungsi nginx dengan cepat, termasuk penerusan protokol http, penerusan protokol tcp, proksi terbalik, penyeimbangan beban, server html statis, serta penerapan dan pembaruan sertifikat SSL otomatis. , konfigurasi, dll. Setelah konfigurasi, file nginx.conf dapat dibuat sekaligus. Pada saat yang sama, nginx dapat dikontrol untuk menggunakan file ini untuk memulai dan memuat ulang, menyelesaikan kontrol grafis loop tertutup nginx.
nginxWebUI juga dapat mengelola beberapa cluster server nginx. Anda dapat beralih ke server yang sesuai untuk konfigurasi nginx kapan saja dengan satu klik. Anda juga dapat menyinkronkan konfigurasi server tertentu ke server lain dengan satu klik untuk memfasilitasi manajemen cluster.
nginx sendiri memiliki fungsi yang kompleks. nginxWebUI tidak dapat mencakup semua fungsi nginx, tetapi dapat mencakup 90% konfigurasi fungsional harian nginx. Untuk item konfigurasi nginx yang tidak tercakup oleh platform, Anda dapat menggunakan templat parameter khusus untuk menghasilkan parameter unik di file konf.
Setelah menerapkan proyek ini, Anda tidak perlu lagi mencari kode konfigurasi secara online untuk mengonfigurasi nginx. Anda tidak perlu lagi mengajukan dan mengonfigurasi sertifikat SSL secara manual. Anda hanya perlu menambah, menghapus, mengubah, dan memeriksa proyek ini untuk mengonfigurasi dan dengan mudah mulai nginx.
Proyek ini didasarkan pada sistem web solon. Basis datanya menggunakan sqlite, jadi tidak perlu menginstal basis data apa pun di server.
Sistem ini berlaku untuk sertifikat melalui Let's encrypt, dan menggunakan skrip acme.sh untuk aplikasi dan perpanjangan otomatis. Sertifikat yang memungkinkan perpanjangan akan diperpanjang pada jam 2 pagi setiap hari. Hanya sertifikat yang berumur lebih dari 60 hari yang akan diperpanjang dikeluarkan di Linux didukung.
Saat menambahkan dukungan untuk konfigurasi penerusan tcp/ip, beberapa versi nginx yang lebih rendah mungkin perlu dikompilasi ulang, dan modul stream dapat digunakan dengan menambahkan parameter –with-stream untuk menentukan instalasi perpustakaan perangkat lunak resmi sudah memiliki modul streaming, tidak perlu mengkompilasi ulang. Jika item penerusan tcp dikonfigurasi dalam sistem ini, item konfigurasi ngx_stream_module.so akan dimasukkan secara otomatis memaksimalkan optimalisasi file konfigurasi ngnix.
Alamat versi profesional: https://pro.nginxwebui.cn
Fungsi | Versi profesional | Versi sumber terbuka |
---|---|---|
Konfigurasi parameter dasar | √ | √ |
konfigurasi parameter http | √ | √ |
Konfigurasi proksi terbalik | √ | √ |
Konfigurasi parameter aliran | √ | √ |
Konfigurasi penyeimbangan beban | √ | √ |
Templat parameter | √ | √ |
Unggahan halaman web statis | √ | √ |
Manajemen file kata sandi | √ | √ |
IP daftar hitam | √ | √ |
Permohonan sertifikat | √ | √ |
Dokumentasi antarmuka API | √ | √ |
Manajemen jarak jauh | √ | √ |
Manajemen terpadu dari node dan grup | √ | × |
Sinkronisasi terpadu file konfigurasi node | √ | × |
Pengumpulan data informasi simpul | √ | × |
Statistik status simpul | √ | × |
Konfigurasi cache | √ | × |
koleksi log nginx | √ | × |
tampilan log nginx | √ | × |
statistik log nginx | √ | × |
statistik lalu lintas nginx | √ | × |
Mengambil sistem operasi Ubuntu sebagai contoh,
Catatan: Proyek ini memerlukan perintah sistem untuk dijalankan di bawah pengguna root, yang sangat mudah dieksploitasi oleh peretas. Pastikan untuk mengubah kata sandi menjadi kata sandi yang rumit.
1. Instal lingkungan Java dan nginx
Ubuntu:
apt update
apt install openjdk-11-jdk
apt install nginx
Cento:
yum install java-11-openjdk
yum install nginx
jendela:
下载JDK安装包 https://www.oracle.com/java/technologies/downloads/
下载nginx http://nginx.org/en/download.html
配置JAVA环境变量
JAVA_HOME : JDK安装目录
Path : JDK安装目录bin
重启电脑
2. Unduh paket jar rilis terbaru
Linux: mkdir /home/nginxWebUI/
wget -O /home/nginxWebUI/nginxWebUI.jar https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.5/nginxWebUI-4.2.5.jar
Windows: 直接使用浏览器下载 https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.5/nginxWebUI-4.2.5.jar 到 D:/home/nginxWebUI/nginxWebUI.jar
Jika ada versi baru, Anda hanya perlu mengubah versi yang ada di jalurnya.
3. Jalankan programnya
Linux: nohup java -jar -Dfile.encoding=UTF-8 /home/nginxWebUI/nginxWebUI.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &
Windows: java -jar -Dfile.encoding=UTF-8 D:/home/nginxWebUI/nginxWebUI.jar --server.port=8080 --project.home=D:/home/nginxWebUI/
Deskripsi parameter (semua opsional)
--server.port menempati port tersebut, dimulai dengan port 8080 secara default
--direktori file konfigurasi proyek project.home, yang menyimpan file database, file sertifikat, log, dll., defaultnya adalah /home/nginxWebUI/
--spring.database.type=mysql Gunakan database lain, biarkan kosong untuk menggunakan database sqlite lokal, mysql opsional
--spring.datasource.url=jdbc:mysql://ip:port/nginxwebui url basis data
--spring.datasource.username=pengguna basis data root
--spring.datasource.password=memasukkan kata sandi basis data
Perhatikan bahwa perintah Linux menambahkan ampersand di akhir untuk menunjukkan bahwa proyek sedang berjalan di latar belakang.
Proyek ini menghasilkan image buruh pelabuhan yang mendukung platform x86_64/arm64/arm v7, termasuk nginx dan nginxWebUI, serta mengintegrasikan manajemen dan pengoperasian nginx.
1. Instal lingkungan kontainer buruh pelabuhan
Ubuntu:
apt install docker.io
Cento:
yum install docker
2. Tarik gambar:
docker pull cym1102/nginxwebui:latest
或者
docker pull registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest
3. Mulai wadah:
docker run -itd
-v /home/nginxWebUI:/home/nginxWebUI
-e BOOT_OPTIONS="--server.port=8080"
--net=host
--restart=always
cym1102/nginxwebui:latest
或者
docker run -itd
-v /home/nginxWebUI:/home/nginxWebUI
-e BOOT_OPTIONS="--server.port=8080"
--net=host
--restart=always
registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest
Melihat:
Harap gunakan parameter --net=host saat memulai container untuk memetakan port lokal secara langsung. Karena nginx internal dapat menggunakan port apa pun, semua port mesin lokal harus dipetakan.
Kontainer perlu memetakan jalur /home/nginxWebUI:/home/nginxWebUI. Semua file data proyek disimpan di jalur ini, termasuk database, file konfigurasi nginx, log, sertifikat, dll. Saat memutakhirkan image, direktori ini dapat memastikan bahwa data proyek tidak hilang. Harap dicatat Cadangan.
Parameter -e BOOT_OPTIONS dapat mengisi parameter startup java, dan Anda dapat menggunakan parameter ini untuk mengubah nomor port.
--server.port menempati port tersebut. Jika tidak diisi, maka akan dimulai pada port 8080 secara default.
Lainnya: File konfigurasi saat menggunakan docker-compose adalah sebagai berikut
version: "3.2"
services:
nginxWebUi-server:
image: cym1102/nginxwebui:latest
volumes:
- type: bind
source: "/home/nginxWebUI"
target: "/home/nginxWebUI"
environment:
BOOT_OPTIONS: "--server.port=8080"
network_mode: "host"
restart: always
或者
version: "3.2"
services:
nginxWebUi-server:
image: registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest
volumes:
- type: bind
source: "/home/nginxWebUI"
target: "/home/nginxWebUI"
environment:
BOOT_OPTIONS: "--server.port=8080"
network_mode: "host"
restart: always
Gunakan pakar untuk mengkompilasi dan mengemas
mvn clean package
Bangun gambar menggunakan buruh pelabuhan
docker build -t nginxwebui:latest .
vim /etc/systemd/system/nginxwebui.service
[Unit]
Description=NginxWebUI
After=syslog.target
After=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/home/nginxWebUI
ExecStart=/usr/bin/java -jar -Dfile.encoding=UTF-8 /home/nginxWebUI/nginxWebUI.jar
Restart=always
[Install]
WantedBy=multi-user.target
jalankan setelahnya
systemctl daemon-reload
systemctl enable nginxwebui.service
systemctl start nginxwebui.service
Buka http://xxx.xxx.xxx.xxx:8080 untuk masuk ke beranda
Halaman login, saat pertama kali membukanya, Anda akan diminta untuk menginisialisasi akun administrator.
Setelah memasuki sistem, Anda dapat menambah dan mengubah akun administrator di manajemen administrator.
Dalam konfigurasi parameter http, Anda dapat mengonfigurasi proyek http nginx untuk penerusan http. Beberapa konfigurasi umum diberikan secara default. Konfigurasi lain yang diperlukan dapat ditambahkan, dihapus, dimodifikasi, dan diperiksa secara bebas file.
Parameter proyek aliran nginx dapat dikonfigurasi dalam konfigurasi parameter TCP, tetapi dalam banyak kasus hal ini tidak diperlukan.
Di proxy terbalik, Anda dapat mengkonfigurasi proxy terbalik nginx, yaitu fungsi server. Anda dapat mengaktifkan fungsi SSL, mengunggah file pem dan file kunci langsung dari halaman web, atau menggunakan sertifikat yang diterapkan dalam sistem untuk langsung mengaktifkannya. fungsi http ke https, Anda juga dapat mengaktifkan protokol http2
Dalam penyeimbangan beban, Anda dapat mengonfigurasi fungsi penyeimbangan beban nginx, yang merupakan fungsi upstream. Dalam manajemen proksi terbalik, Anda dapat memilih target proksi untuk menjadi penyeimbangan beban yang dikonfigurasi.
Dalam unggahan file statis html, Anda dapat langsung mengunggah paket terkompresi html ke jalur yang ditentukan. Setelah diunggah, paket tersebut dapat digunakan langsung di proxy terbalik, sehingga menghilangkan kebutuhan untuk mengunggah file html di Linux.
Sertifikat dapat ditambahkan dalam manajemen sertifikat, dan diterbitkan serta diperbarui. Setelah pembaruan terjadwal diaktifkan, sistem akan secara otomatis memperbarui sertifikat yang akan kedaluwarsa. Catatan: Sertifikat diterbitkan menggunakan mode dns acme.sh, yang perlu bekerja sama dengan aliKey dan aliSecret Alibaba Cloud untuk digunakan
Manajemen file cadangan, di sini Anda dapat melihat versi riwayat cadangan nginx.cnf. Ketika terjadi kesalahan di nginx, Anda dapat memilih untuk memutar kembali ke versi riwayat tertentu.
File conf akhirnya dibuat, dan modifikasi manual lebih lanjut dapat dilakukan di sini. Setelah mengonfirmasi bahwa modifikasi tersebut benar, file conf lokal dapat ditimpa, diverifikasi, dan dimulai ulang. Anda dapat memilih untuk membuat satu file nginx.conf atau memisahkan masing-masing file konfigurasi di conf sesuai dengan nama domain .d dibawah
Manajemen server jarak jauh, jika ada beberapa server nginx, Anda dapat menerapkan nginxWebUI pada semuanya, lalu masuk ke salah satunya, menambahkan IP dan nama pengguna serta kata sandi server lain dalam manajemen jarak jauh, dan Anda dapat mengelola semua server nginx di satu mesin.
Menyediakan fungsi sinkronisasi satu klik, yang dapat menyinkronkan konfigurasi data dan file sertifikat dari server tertentu ke server lain
Sistem ini menyediakan panggilan antarmuka http://xxx.xxx.xxx.xxx:8080/doc.html untuk melihat halaman antarmuka smart-doc.
Panggilan antarmuka perlu menambahkan token di header permintaan http. Untuk mendapatkan token, Anda harus terlebih dahulu membuka izin panggilan antarmuka pengguna di manajemen administrator, lalu memanggil antarmuka token melalui nama pengguna dan kata sandi untuk mendapatkan token. .
Jika Anda lupa kata sandi login atau tidak menyimpan kode QR verifikasi dua langkah, Anda dapat mengikuti tutorial di bawah ini untuk mengatur ulang kata sandi dan mematikan verifikasi dua langkah.
Metode instalasi 1.jar, jalankan perintah
java -jar /home/nginxWebUI/nginxWebUI.jar --project.home=/home/nginxWebUI/ --project.findPass=true
--project.home adalah direktori tempat file proyek berada, atau direktori pemetaan saat menggunakan wadah buruh pelabuhan
--project.findPass adalah apakah akan mencetak nama pengguna dan kata sandi
Setelah pengoperasian berhasil, Anda dapat mengatur ulang dan mencetak semua nama pengguna dan kata sandi serta mematikan verifikasi dua langkah.
2. Cara instalasi Docker, jalankan terlebih dahulu perintah untuk masuk ke container docker, dimana {ID} adalah id dari container tersebut
docker exec -it {ID} /bin/sh
Jalankan perintah lagi
java -jar /home/nginxWebUI.jar --project.findPass=true
Setelah pengoperasian berhasil, Anda dapat mengatur ulang dan mencetak semua nama pengguna dan kata sandi serta mematikan verifikasi dua langkah.