NginxWebUI项目制作了docker镜像, 支持 x86_64/arm64/arm v7 平台,同时包含nginx和nginxWebUI在内, 一体化管理与运行nginx。

项目地址

 nginxWebUI: 方便快捷易用的Nginx可视化UI网页管理部署配置工具系统,使用Web网页系统来快速配置部署,支持在线配置你的Nginx/Openresty的反向代理、负载均衡、SSL/HTTPS证书免费签发,自动续签、TCP/UDP 3-4层转发、可以自定义参数字段、均衡负载节点、Nginx服务状态监控故障报警、集群配置同步等,快速部署多个或N个Nginx集群节点,支持导入现有Nginx配置文件让你无忧使用. (gitee.com)

docker部署方式

1.安装docker容器环境

Ubuntu:

apt install docker.io
  • 1.

Centos:

yum install docker
  • 1.

2.拉取镜像:

docker pull cym1102/nginxwebui:latest

或者

docker pull registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

3.启动容器:

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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

注意:

  1. 启动容器时请使用–net=host参数, 直接映射本机端口, 因为内部nginx可能使用任意一个端口, 所以必须映射本机所有端口.
  2. 容器需要映射路径/home/nginxWebUI:/home/nginxWebUI, 此路径下存放项目所有数据文件, 包括数据库, nginx配置文件, 日志, 证书等, 升级镜像时, 此目录可保证项目数据不丢失. 请注意备份.
  3. -e BOOT_OPTIONS 参数可填充java启动参数, 可以靠此项参数修改端口号–server.port 占用端口, 不填默认以8080端口启动
  4. 日志默认存放在/home/nginxWebUI/log/nginxWebUI.log

docker-compose部署方式

另: 使用docker-compose时配置文件如下

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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.

docker镜像构建

使用maven编译打包

git clone https://gitee.com/cym1102/nginxWebUI

cd nginxWebUI

mvn clean package
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

使用docker构建镜像

docker build -t nginxwebui:latest .
  • 1.

添加systemd开机启动

编辑service配置

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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

之后执行

systemctl daemon-reload
systemctl enable nginxwebui.service
systemctl start nginxwebui.service
  • 1.
  • 2.
  • 3.