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

登錄頁面, 第一次打開會要求初始化管理員賬號

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

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

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

在反向代理中可配置nginx的反向代理即server項(xiàng)功能, 可開啟ssl功能, 可以直接從網(wǎng)頁上上傳pem文件和key文件, 或者使用系統(tǒng)內(nèi)申請的證書, 可以直接開啟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)會自動續(xù)簽即將過期的證書。
注意: 證書的簽發(fā)是用的acme.sh的dns模式, 需要配合阿里云的aliKey和aliSecret來使用. 請先申請好aliKey和aliSecret

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

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

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

遠(yuǎn)程服務(wù)器管理, 如果有多臺nginx服務(wù)器, 可以都部署上nginxWebUI, 然后登錄其中一臺, 在遠(yuǎn)程管理中添加其他服務(wù)器的ip和用戶名密碼, 就可以在一臺機(jī)器上管理所有的nginx服務(wù)器了.
提供一鍵同步功能, 可以將某一臺服務(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ubuntu下Nginx1.28.0源碼編譯安裝與systemd管理方式解讀
這篇文章主要介紹了Ubuntu下Nginx1.28.0源碼編譯安裝與systemd管理方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-05-05
Nginx結(jié)合keepalived實(shí)現(xiàn)集群
本文主要介紹了Nginx結(jié)合keepalived實(shí)現(xiàn)集群,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05
Nginx+Lua+Redis構(gòu)建高并發(fā)Web應(yīng)用
使用Nginx+Lua+Redis來構(gòu)建高并發(fā)Web應(yīng)用,Curl請求Nginx,Nginx通過Lua查詢Redis,返回json數(shù)據(jù)。2013-10-10
nginx設(shè)置資源緩存實(shí)戰(zhàn)詳解
這篇文章主要介紹了nginx設(shè)置資源緩存實(shí)戰(zhàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
通過Nginx解決網(wǎng)絡(luò)隔離實(shí)踐記錄詳解
這篇文章主要介紹了通過Nginx解決網(wǎng)絡(luò)隔離實(shí)踐記錄詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
windows下RunHiddenConsole 啟動 nginx與php(RunHiddenConsole下載)
這篇文章主要介紹了RunHiddenConsole 啟動 nginx與php的相關(guān)資料,希望通過本文能幫助到大家,讓大家學(xué)會使用RunHiddenConsole,需要的朋友可以參考下2017-10-10

