CentOS7 源码安装nginxWebUI

参考官网:https://github.com/cym1102/nginxWebUI

文档说明:nginxWebUI - 文档

一、nginxWebUI概念

​ nginxWebUI是一款图形化管理nginx配置得工具, 可以使用网页来快速配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, 静态html服务器, ssl证书自动申请、续签、配置等, 配置好后可一建生成nginx.conf文件, 同时可控制nginx使用此文件进行启动与重载, 完成对nginx的图形化控制闭环.

​ nginxWebUI也可管理多个nginx服务器集群, 随时一键切换到对应服务器上进行nginx配置, 也可以一键将某台服务器配置同步到其他服务器, 方便集群管理.

​ nginx本身功能复杂, nginxWebUI并不能涵盖nginx所有功能, 但能覆盖nginx日常90%的功能使用配置, 平台没有涵盖到的nginx配置项, 可以使用自定义参数模板, 在conf文件中生成配置独特的参数。

​ 部署此项目后, 配置nginx再也不用上网各种搜索配置代码, 再也不用手动申请和配置ssl证书, 只需要在本项目中进行增删改查就可方便的配置和启动nginx。

二、准备环境

  • 操作系统:CentOS 7.9
  • Nginx
  • JDK
  • MySQL

三、安装依赖

1.安装Nginx

这里安装的版本为 1.21.6 ,可参考我博客中相关文档。

2.安装JDK

这里安装的版本为 1.8.0_421 ,可参考我博客中相关文档。

3.安装MySQL

这里安装的版本为 8.0.34 ,可参考我博客中相关文档。

四、创建Nginx数据库

1.登录MySQL数据库

前面已经安装并初始化好了 MySQL,现在登录 MySQL 数据库:

mysql -uroot -pmysql2025

2.创建Nginx数据库

# 创建名为 jumpserver 的数据库
create database nginx;

# 刷新权限表,使所有更改立即生效
flush privileges;

查看 nginx 数据库的字符集和排序规则:

select default_character_set_name, default_collation_name
from information_schema.schemata
where schema_name = 'nginx';

查看 nginx 数据库的所有表及其字符集和排序规则:

select table_name, table_collation
from information_schema.tables
where table_schema = 'nginx';

查看 nginx 数据库创建:

show create database nginx;

删除 nginx 数据库:

drop database nginx;

五、安装nginxWebUI

1.创建安装目录

mkdir /usr/local/nginxwebui

2.下载jar包

通过 wget 命令下载 nginxWebUI jar 包,指定下载到安装目录 /usr/local/nginxwebui 下,并重命名为 nginxWebUI.jar

wget -O /usr/local/nginxwebui/nginxWebUI-4.2.4.jar https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.4/nginxWebUI-4.2.4.jar

有新版本只需要修改路径中的版本即可。

3.启动nginxWebUI

使用 java 命令启动 nginxWebUI 程序,并放置于后台中运行:

nohup java -jar -Dfile.encoding=UTF-8 /usr/local/nginxwebui/nginxWebUI-4.2.4.jar --server.port=8080 --project.home=/usr/local/nginxwebui/ --project.home=/usr/local/nginxwebui --spring.database.type=mysql --spring.datasource.url=jdbc:mysql://localhost:3306/nginx --spring.datasource.username=root --spring.datasource.password=mysql2025 > /dev/null &

解释说明:

  • --server.port:占用端口, 默认以8080端口启动。
  • --project.home:项目配置文件目录,存放数据库文件,证书文件,日志等。
  • --spring.database.type=mysql:使用其他数据库,不填为使用本地h2,可选mysql。
  • --spring.datasource.url=jdbc:mysql://ip:port/nginxwebui:数据库url。
  • --spring.datasource.username=root:数据库用户。
  • --spring.datasource.password=pass:数据库密码。

六、配置脚本启动和关闭nginxWebUI服务

这里可以通过配置脚本来启动和关闭 nginxWebUI 服务。

1.配置脚本启动服务

/usr/local/nginxwebui 目录下创建一个名为 start.sh 的启动服务脚本文件,并添加以下内容:

cat > /usr/local/nginxwebui/start.sh <<'EOF'
#!/bin/bash

ver=4.2.4
srv_port=8080
srv_home=/usr/local/nginxwebui
db_type=mysql
db_ip=localhost
db_name=nginx
db_user=root
db_pwd=mysql2025

srv_name='nginxWebUI'
srv_file=${srv_home}/$srv_name-${ver}.jar

PID=$(pgrep -f $srv_name)

if [ -z "$PID" ]; then
  nohup java -jar -Dfile.encoding=UTF-8 ${srv_file} \
  --server.port=${srv_port} \
  --spring.database.type=${db_type} \
  --spring.datasource.url=jdbc:mysql://$db_ip:3306/${db_name} \
  --spring.datasource.username=${db_user} \
  --spring.datasource.password=${db_pwd} \
  --project.home=${srv_home} > /dev/null 2>&1 &
else
  echo "$srv_name($PID) is running..."
fi
EOF

2.配置脚本关闭服务

/usr/local/nginxwebui 目录下创建一个名为 stop.sh 的关闭服务脚本文件,并添加以下内容:

cat > /usr/local/nginxwebui/stop.sh <<'EOF'
#!/bin/bash

SERVER_NAME="nginxWebUI"
PID=$(pgrep -f $SERVER_NAME)

if [ -n "$PID" ]; then
  kill -9 $PID
  echo "Send shutdown request to ${SERVER_NAME}(${PID}) OK"
else
  echo "$SERVER_NAME is not running."
fi
EOF

3.设置脚本权限

chmod +x /usr/local/nginxwebui/start.sh
chmod +x /usr/local/nginxwebui/stop.sh

4.启动和关闭nginxWebUI服务

sh start.sh   # 启动 nginxWebUI 服务
sh stop.sh    # 关闭 nginxWebUI 服务

四、访问nginxWebUI

浏览器访问 nginxWebUI 平台地址 http://<IP>:8080,第一次打开会要求初始化管理员账号:

image-20240516171239808

六、升级nginxWebUI

这里将 4.1.1 版本升级为 4.2.4 版本。

1.停止nginxWebUI服务

先停止正在运行的 nginxWebUI 服务:

cd /usr/local/nginxwebui
./stop.sh

2.下载新版jar包

下载最新版的 nginxWebUI 4.2.4 jar包到安装目录下,并重命名为 nginxWebUI-4.2.4.jar

wget -O /usr/local/nginxwebui/nginxWebUI-4.2.4.jar https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.4/nginxWebUI-4.2.4.jar

3.修改启动服务脚本

编辑 /usr/local/nginxwebui/start.sh 启动服务脚本文件,将 ver 变量值改为新版本 4.2.4

sed -i '/ver=/c\ver=4.2.4' /usr/local/nginxwebui/start.sh

4.启动nginxWebUI服务

修改完成后,重新启动脚本服务:

cd /usr/local/nginxwebui
./start.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值