Nginx WebUI管理

簡介

NginxWebUI是一款方便實用的nginx 網頁配置工具,可以使用 WebUI 配置 Nginx 的各項功能,包括埠轉發,反向代理,ssl 證書配置,負載均衡等,最終生成「nginx.conf」配置文件並覆蓋目標配置文件,完成 nginx 的功能配置。

他除了nginx的conf可視化配置以外,nginx Web UI還提供以下功能

功能
# 1. 靜態網頁包可上傳並進行統一管理
# 2. ssl證書可在線申請並定時續簽. 統一對ssl進行管理及部署
# 3. 集成nginx效驗, 重載, 啟動, 停止命令, 可在網頁上對nginx運行狀態進行操作
# 4. 可在一台伺服器上遠程管理其他nginxWebUI伺服器, 可以在一個網址上修改複數的nginx集群配置, 同時提供集群nginx服務運行狀態監控功能, 使用郵件進行宕機提醒
# 5. 可對nginx中配置的負載均衡節點進行運行狀態監控,  使用郵件進行宕機提醒.
# 6. 集成nginx日誌解析功能, 可配置是否生成nginx日誌及定時對nginx日誌進行解析
# 7. 可反嚮導入已有的nginx配置文件, 可快速克隆已有反向代理配置, 可檢查反向代理的埠佔用
# 8. 提供系統cpu 記憶體 硬碟運行狀態監測
Nginx WebUI功能說明
# 1. 該項目是基於springBoot的web系統,資料庫使用sqlite,因此伺服器上不需要安裝任何資料庫。
# 2. 本項目可管理多個nginx伺服器集群, 隨時一鍵切換到對應伺服器上進行nginx配置, 也可以一鍵將某台伺服器配置同步到其他伺服器, 方便集群管理。
# 3. nginx本身功能複雜, 本項目並不能涵蓋nginx所有功能, 只能配置常用功能, 更高級的功能配置仍然需要在最終生成的nginx.conf中進行手動編寫。
# 4. 部署此項目後, 配置nginx再也不用上網各種搜索, 再也不用手動申請和配置ssl證書, 只需要在本項目中進行增刪改查就可方便的配置nginx。
1.8.0發布增加新功能
# 1. 參數配置項添加順序配置
# 2. 靜態文件添加更新功能
# 3. 添加參數模板功能
# 4. 更新docker內的nginx版本為1.18
# 5. 添加立刻解析今日日誌 功能
# 6. 替換配置文件時,清除遺留舊配置文件
# 7. 添加conf文件基本導入功能 

jar包部署運行Nginx WebUI

安裝java環境
# CentOS7安裝Java,有tar包和rpm包,yum三種
        1>. rpm -ivh jdk-8u121-linux-x64.rpm
        2>. tar xvf jdk-8u151-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
mv jdk1.8.0_151/ jdk
tail -3 /etc/profile
JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
下載jar包
# wget //www.nginxwebui.cn/download/nginxWebUI-1.8.0.jar
啟動程式
# nohup java -jar -Xmx64m nginxWebUI-1.8.0.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &

# -Xmx64m 最大分配記憶體數
# --server.port 佔用埠, 默認以8080埠啟動
# --project.home 項目配置文件目錄,存放資料庫文件,證書文件,日誌等, 默認為/home/nginxWebUI/
# 注意命令最後加一個&號, 表示項目後台運行

Docker運行方式

安裝docker
# 安裝一些必要的系統工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加軟體源資訊
# docker 官方源
sudo yum-config-manager --add-repo //download.docker.com/linux/centos/docker-ce.repo

# 阿里雲源
sudo yum-config-manager --add-repo //mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  
# 安裝前可以先更新 yum 快取:
sudo yum makecache fast

# CentOS7安裝 Docker-ce
yum -y install docker-ce        # CentOS 中安裝
apt-get install docker-ce       # Ubuntu 中安裝
pacman -S docker                # Arch 中安裝
emerge --ask docker             # Gentoo 中安裝

# 如果想安裝特定版本的Docker-ce版本,先列出repo中可用版本,然後選擇安裝
yum list docker-ce --showduplicates |sort -r
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror
Installed Packages
docker-ce.x86_64            3:19.03.4-3.el7                    docker-ce-stable
docker-ce.x86_64            3:19.03.4-3.el7                    @docker-ce-stable
docker-ce.x86_64            3:19.03.3-3.el7                    docker-ce-stable
docker-ce.x86_64            3:19.03.2-3.el7                    docker-ce-stable
docker-ce.x86_64            3:19.03.1-3.el7                    docker-ce-stable

yum install docker-ce-<VERSION STRING>
# 選擇安裝 docker-ce-18.06.1.ce
yum install docker-ce-18.06.1.ce

# Docker鏡像加速
# 沒有啟動/etc/docker目錄不存在,需要自己創建,docker啟動也會自己創建
# 為了期望我們的鏡像下載快一點,應該定義一個鏡像加速器,加速器在中國
mkdir /etc/docker
vim /etc/docker/daemon.json
{
"registry-mirrors": ["//registry.docker-cn.com"]
}

# 啟動Docker後台服務
systemctl start docker && systemctl enable docker
systemctl daemon-reload                 # 守護進程重啟

# 通過運行hello-world鏡像,驗證是否正確安裝了docker,或者通過查看版本
docker run hello-world
docker version
Client: Docker Engine - Community
Version:           19.03.4
API version:       1.40
Go version:        go1.12.10
Git commit:        9013bf583a
Built:            Fri Oct 18 15:52:22 2019
OS/Arch:           linux/amd64
Experimental:      false
下載鏡像
docker pull registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:1.8.0
啟動容器
docker run -itd -v /home/nginxWebUI:/home/nginxWebUI -e BOOT_OPTIONS="--server.port=8080" --privileged=true --net=host  registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:1.8.0 /bin/bash

使用

初始化用戶

http參數配置

在http參數配置中可以配置nginx的http項目,進行http轉發, 默認會給出幾個常用配置, 其他需要的配置可自由增刪改查。可以勾選開啟日誌跟蹤, 生成日誌跟蹤配置項, 每天0點時刻可生成上一天的日誌分析報告。由於日誌文件access.log文件過大, 默認只保留7天的log文件, 但分析報告可一直保留。

tcp參數配置

反向代理

在反向代理中可配置nginx的反向代理即server項功能, 可開啟ssl功能, 可以直接從網頁上上傳pem文件和key文件, 或者使用系統內申請的證書, 可以直接開啟http轉跳https功能,也可開啟http2協議。

靜態網頁上傳

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

證書管理

log管理, 在http配置中如果開啟了log監控的話, 會每天在這裡生成日誌分析報告

遠程伺服器管理, 如果有多台nginx伺服器, 可以都部署上nginxWebUI, 然後登錄其中一台, 在遠程管理中添加其他伺服器的ip和用戶名密碼, 就可以在一台機器上管理所有的nginx伺服器了。

提供一鍵同步功能, 可以將某一台伺服器的數據配置和證書文件同步到其他伺服器中。

Tags: