Docker - nginxWebUI部署

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

一、拉取镜像

docker pull cym1102/nginxwebui:latest

二、启动程序

docker run -itd \
--name nginxWebUI \
--restart unless-stopped \
--net=host \
-v /data/nginxWebUI:/home/nginxWebUI \
-v /data/wwwroot:/wwwroot \ # 映射网站根目录,视个人情况做调整
-e BOOT_OPTIONS="--server.port=8080" \ # 不指定,则默认为8080
--privileged=true \
cym1102/nginxwebui:latest

三、访问测试
1.初次访问,会提示设置账号密码

 2.映射/wwwroot是方便做静态网站代理

 

四、生成ZeroSSL证书
1.由于默认申请的是Let's Encrypt证书,但未被360等小部分浏览器添加到信任列表,因此会有风险提醒。调整为ZeroSSL则没有这个问题。
# 进入nginxWebUI容器

docker exec -it nginxWebUI /bin/sh

# 编辑环境变量

# vi /etc/profile

# 添加Ali_dns配置

export Ali_Key=xxxxxxxxxxxxxx
export Ali_Secret=xxxxxxxxxxxxxxxxxxxxxxxx

# :wq退出并应用环境变量
# source /etc/profile

cd /home/nginxWebUI/.acme.sh

# 注册ZeroSSL账号,注意换成自己的邮箱

./acme.sh --register-account -m my@example.com --server zerossl

# 申请证书

./acme.sh --issue --dns dns_ali -d 域名.com -d *.域名.com --keylength ec-256 --server zerossl

# 创建cert用来存放证书

mkdir /home/nginxWebUI/cert

# 安装证书 & 重载nginx

./acme.sh --installcert -d 域名.com --ecc \
--keypath /home/nginxWebUI/cert/域名.com.key \
--fullchainpath /home/nginxWebUI/cert/域名.com.pem \
--reloadcmd "nginx -s reload"

# 配置定时任务

crontab -e

# 添加定时任务,每天0点10分检查证书是否有效

10 0 * * * "/home/nginxWebUI/.acme.sh"/acme.sh --cron --home "/home/nginxWebUI/.acme.sh" > /dev/null

# :wq查看是否添加成功

crontab -l

2.在证书管理页面,获取方式选手动上传 - 选择已有文件,路径为上边创建的cert目录/home/nginxWebUI/cert

 

 

 

 

 
posted @ 2024-11-26 10:37  阳光下的行者  阅读(133)  评论(0编辑  收藏  举报