nginx界面管理工具之nginxWebUI?搭建與使用方法
一、nginxWebUI
1.nginx網(wǎng)頁(yè)配置工具
官網(wǎng)地址: http://www.nginxwebui.cn
源碼地址:https://git.chihiro.org.cn/chihiro/nginxWebUI
2.功能說(shuō)明
本項(xiàng)目可以使用WebUI配置nginx的各項(xiàng)功能, 包括http協(xié)議轉(zhuǎn)發(fā), tcp協(xié)議轉(zhuǎn)發(fā), 反向代理, 負(fù)載均衡, ssl證書自動(dòng)申請(qǐng)、續(xù)簽、配置等, 最終生成nginx.conf文件并覆蓋nginx的默認(rèn)配置文件, 完成nginx的最終功能配置。
本項(xiàng)目可管理多個(gè)nginx服務(wù)器集群, 隨時(shí)一鍵切換到對(duì)應(yīng)服務(wù)器上進(jìn)行nginx配置, 也可以一鍵將某臺(tái)服務(wù)器配置同步到其他服務(wù)器, 方便集群管理。
nginx本身功能復(fù)雜, 本項(xiàng)目并不能涵蓋nginx所有功能, 只能配置常用功能, 更高級(jí)的功能配置仍然需要在最終生成的nginx.conf中進(jìn)行手動(dòng)編寫。
部署此項(xiàng)目后, 配置nginx再也不用上網(wǎng)各種搜索, 再也不用手動(dòng)申請(qǐng)和配置ssl證書, 只需要在本項(xiàng)目中進(jìn)行增刪改查就可方便的配置nginx。
3.技術(shù)說(shuō)明
本項(xiàng)目是基于springBoot的web系統(tǒng), 數(shù)據(jù)庫(kù)使用sqlite, 因此服務(wù)器上不需要安裝任何數(shù)據(jù)庫(kù)。
其中orm使用了本人自己開源的sqlHelper項(xiàng)目作為orm, 使用sqlite作為數(shù)據(jù)庫(kù), 項(xiàng)目啟動(dòng)時(shí)會(huì)釋放一個(gè).sqlite.db到系統(tǒng)用戶文件夾中, 注意進(jìn)行備份。
sqlHelper是一個(gè)可以像 mongodb 一樣使用 sql 數(shù)據(jù)庫(kù)的 orm, 解放開發(fā)者對(duì)sql數(shù)據(jù)庫(kù)表結(jié)構(gòu)的維護(hù)工作, 支持sqlite, mysql, postgresql三種數(shù)據(jù)庫(kù), 有興趣的可以了解一下 https://gitee.com/cym1102/sqlHelper。
本系統(tǒng)通過(guò)Let’s encrypt申請(qǐng)證書, 使用acme.sh腳本進(jìn)行自動(dòng)化申請(qǐng)和續(xù)簽, 開啟續(xù)簽的證書將在每天凌晨 2 點(diǎn)進(jìn)行續(xù)簽, 只有超過(guò) 60 天的證書才會(huì)進(jìn)行續(xù)簽. 只支持在linux下簽發(fā)證書。
因?yàn)樯暾?qǐng)證書必須要使用 80 端口, 因此在申請(qǐng)和續(xù)簽的時(shí)候 nginx 將會(huì)短暫關(guān)閉,請(qǐng)注意。
添加tcp/ip轉(zhuǎn)發(fā)配置支持時(shí), 一些低版本的 nginx 可能需要重新編譯,通過(guò)添加–with-stream參數(shù)指定安裝stream模塊才能使用, 但在ubuntu 18.04下, 官方軟件庫(kù)中的nginx已經(jīng)帶有stream模塊, 不需要重新編譯. 本系統(tǒng)如果配置了tcp轉(zhuǎn)發(fā)項(xiàng)的話, 會(huì)自動(dòng)引入ngx_stream_module.so的配置項(xiàng), 如果沒有開啟則不引入, 最大限度優(yōu)化ngnix配置文件。
二、jar 安裝說(shuō)明
以Ubuntu操作系統(tǒng)為例, 以下命令請(qǐng)使用root賬戶權(quán)限執(zhí)行
注意:本項(xiàng)目需要在root用戶下運(yùn)行系統(tǒng)命令,極容易被黑客利用,請(qǐng)一定修改密碼為復(fù)雜密碼
1.安裝java運(yùn)行環(huán)境和nginx
apt install openjdk-8-jdkapt install nginx
2.下載最新版發(fā)行包jar
wget http://www.nginxwebui.cn/download/nginxWebUI-2.1.6.jar #有新版本只需要修改路徑中的版本即可
3.啟動(dòng)程序
nohup java -jar -Xmx64m nginxWebUI-2.1.6.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &
參數(shù)說(shuō)明 (都是非必填)
- -Xmx64m 最大分配內(nèi)存數(shù)
- –server.port 占用端口, 默認(rèn)以 8080 端口啟動(dòng)
- –project.home 項(xiàng)目配置文件目錄,存放數(shù)據(jù)庫(kù)文件,證書文件,日志等, 默認(rèn)為/home/nginxWebUI/
注意命令最后加一個(gè)&號(hào), 表示項(xiàng)目后臺(tái)運(yùn)行
三、docker安裝說(shuō)明
本項(xiàng)目制作了docker鏡像, 同時(shí)包含nginx和nginxWebUI在內(nèi), 一體化管理與運(yùn)行nginx.
1.安裝docker容器環(huán)境
apt install docker.io
2.下載鏡像
docker pull registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:2.1.6
3.啟動(dòng)容器
docker run -itd -v /home/nginxWebUI:/home/nginxWebUI -e BOOT\_OPTIONS="--變量名=變量值 --變量名2=變量值2" --privileged=true --net=host registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:2.1.6 /bin/bash
注意:
啟動(dòng)容器時(shí)請(qǐng)使用–net=host參數(shù), 直接映射本機(jī)端口, 因?yàn)閮?nèi)部nginx可能使用任意一個(gè)端口, 所以必須映射本機(jī)所有端口.
容器需要映射路徑/home/nginxWebUI:/home/nginxWebUI, 此路徑下存放項(xiàng)目所有數(shù)據(jù)文件, 包括數(shù)據(jù)庫(kù), nginx配置文件, 日志, 證書等, 升級(jí)鏡像時(shí), 此目錄可保證項(xiàng)目數(shù)據(jù)不丟失. 請(qǐng)注意備份.
-e BOOT_OPTIONS 參數(shù)可填充java啟動(dòng)參數(shù), jar安裝教程中的參數(shù)均可使用, 可以靠此項(xiàng)參數(shù)修改端口號(hào)等
日志默認(rèn)存放在/home/nginxWebUI/log/nginxWebUI.log
docker-compose安裝說(shuō)明
docker-compose.yaml文件如下
version: '3'
services:
nginxwebui:
image: registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:2.1.6
container_name: nginxwebui
restart: always
volumes:
- ./data:/home/nginxWebUI
environment:
- BOOT_OPTIONS==-Xmx64m
- TZ=Asia/shanghai
privileged: true
network_mode: "host"
注意:項(xiàng)目下所有數(shù)據(jù)儲(chǔ)存在
yaml文件同目錄下的data文件夾中。
使用說(shuō)明
打開 http://xxx.xxx.xxx.xxx:8080 進(jìn)入主頁(yè)

登錄頁(yè)面, 第一次打開會(huì)要求初始化管理員賬號(hào)

進(jìn)入系統(tǒng)后, 可在管理員管理里面添加修改管理員賬號(hào)

在http參數(shù)配置中可以配置nginx的http項(xiàng)目, 進(jìn)行http轉(zhuǎn)發(fā), 默認(rèn)會(huì)給出幾個(gè)常用配置, 其他需要的配置可自由增刪改查. 可以勾選開啟日志跟蹤, 生成日志跟蹤配置項(xiàng), 每天 0 點(diǎn)時(shí)刻可生成上一天的日志分析報(bào)告. 由于日志文件access.log文件過(guò)大, 默認(rèn)只保留 7 天的log文件, 但分析報(bào)告可一直保留.

在 TCP 參數(shù)配置中可以配置nginx的steam項(xiàng)目參數(shù), 大多數(shù)情況下可不配.

在反向代理中可配置nginx的反向代理即server項(xiàng)功能, 可開啟ssl功能, 可以直接從網(wǎng)頁(yè)上上傳pem文件和key文件, 或者使用系統(tǒng)內(nèi)申請(qǐng)的證書, 可以直接開啟http轉(zhuǎn)跳https功能,也可開啟http2協(xié)議

在負(fù)載均衡中可配置nginx的負(fù)載均衡即upstream項(xiàng)功能, 在反向代理管理中可選擇代理目標(biāo)為配置好的負(fù)載均衡

在html靜態(tài)文件上傳中可直接上傳html壓縮包到指定路徑, 上傳后可直接在反向代理中使用, 省去在Linux中上傳html文件的步驟

在證書管理中可添加證書, 并進(jìn)行簽發(fā)和續(xù)簽, 開啟定時(shí)續(xù)簽后, 系統(tǒng)會(huì)自動(dòng)續(xù)簽即將過(guò)期的證書。
注意: 證書的簽發(fā)是用的acme.sh的dns模式, 需要配合阿里云的aliKey和aliSecret來(lái)使用. 請(qǐng)先申請(qǐng)好aliKey和aliSecret

備份文件管理, 這里可以看到nginx.cnf的備份歷史版本, nginx出現(xiàn)錯(cuò)誤時(shí)可以選擇回滾到某一個(gè)歷史版本

最終生成conf文件, 可在此進(jìn)行進(jìn)一步手動(dòng)修改, 確認(rèn)修改無(wú)誤后, 可覆蓋本機(jī)conf文件, 并進(jìn)行效驗(yàn)和重啟, 可以選擇生成單一nginx.conf文件還是按域名將各個(gè)配置文件分開放在conf.d下

log管理, 在http配置中如果開啟了log監(jiān)控的話, 會(huì)每天在這里生成日志分析報(bào)告.

遠(yuǎn)程服務(wù)器管理, 如果有多臺(tái)nginx服務(wù)器, 可以都部署上nginxWebUI, 然后登錄其中一臺(tái), 在遠(yuǎn)程管理中添加其他服務(wù)器的ip和用戶名密碼, 就可以在一臺(tái)機(jī)器上管理所有的nginx服務(wù)器了.
提供一鍵同步功能, 可以將某一臺(tái)服務(wù)器的數(shù)據(jù)配置和證書文件同步到其他服務(wù)器中
找回密碼 如果忘記了登錄密碼,可按如下教程找回密碼 apt install sqlite3 #安裝sqlite3命令 sqlite3 /home/nginxWebUI/sqlite.db #讀取sqlite.db文件 select \* from admin; #查找admin表 quit #退出sqlite3
到此這篇關(guān)于nginx界面管理工具之nginxWebUI 搭建與使用方法的文章就介紹到這了,更多相關(guān)nginxWebUI搭建與使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ubuntu下Nginx1.28.0源碼編譯安裝與systemd管理方式解讀
這篇文章主要介紹了Ubuntu下Nginx1.28.0源碼編譯安裝與systemd管理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-05-05
Nginx結(jié)合keepalived實(shí)現(xiàn)集群
本文主要介紹了Nginx結(jié)合keepalived實(shí)現(xiàn)集群,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05
Nginx+Lua+Redis構(gòu)建高并發(fā)Web應(yīng)用
使用Nginx+Lua+Redis來(lái)構(gòu)建高并發(fā)Web應(yīng)用,Curl請(qǐng)求Nginx,Nginx通過(guò)Lua查詢Redis,返回json數(shù)據(jù)。2013-10-10
nginx設(shè)置資源緩存實(shí)戰(zhàn)詳解
這篇文章主要介紹了nginx設(shè)置資源緩存實(shí)戰(zhàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
通過(guò)Nginx解決網(wǎng)絡(luò)隔離實(shí)踐記錄詳解
這篇文章主要介紹了通過(guò)Nginx解決網(wǎng)絡(luò)隔離實(shí)踐記錄詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
Nginx設(shè)置Access-Control-Allow-Origin多域名跨域?qū)崿F(xiàn)
本文主要介紹了Nginx設(shè)置Access-Control-Allow-Origin多域名跨域?qū)崿F(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
windows下RunHiddenConsole 啟動(dòng) nginx與php(RunHiddenConsole下載)
這篇文章主要介紹了RunHiddenConsole 啟動(dòng) nginx與php的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家學(xué)會(huì)使用RunHiddenConsole,需要的朋友可以參考下2017-10-10

