NginxWebUI--强大的nginx可视化配置工具

x33g5p2x  于2022-02-07 转载在 其他  
字(1.9k)|赞(0)|评价(0)|浏览(548)

前言

本文介绍一下NginxWebUI,通过这款工具我们可以轻松的以图形化方式来配置我们的Nginx的各项功能,包括HTTP协议转发,TCP协议转发,反向代理,负载均衡,SSL证书自动申请、续期。NginxWebUI可以部署在UbuntuCentOSWindows等各个平台,可以通过本地部署或者通过Docker镜像来部署,其中Docker部署是最为简单的,只需要拉取镜像、创建并启动容器,接下来将演示如何使用Docker来部署NginxWebUI

NginxWebUI官网

环境

系统:CentOS 7
Docker:20.10.11

拉取镜像

docker pull cym1102/nginxwebui:latest

创建并启动容器

大家可以根据自己的习惯来自定义nginxWebUI容器与宿主机的映射目录

这段创建容器命令使用了--net=host,直接映射本机端口, 因为内部nginx可能使用任意一个端口, 所以必须映射本机所有端口.

docker run -d -v /mydata/nginxWebUI:/home/nginxWebUI -e BOOT_OPTIONS="--server.port=8080" --privileged=true --net=host cym1102/nginxwebui:latest

但是本人一般只用得到80端口和443端口,而nginxWebUI也要用到8080端口,这里我以端口映射的方式来监听:-p 80:80 -p 443:443 -p 8080:8080

自定义端口映射就会有局限性,在配置中你如果代理到其它端口就无法监听到了,所以如果你想端口随意监听请用上面那条命令,如果和我一样只用得到80和443那就请用下面这条命令

docker run -itd -v /mydata/nginxWebUI:/home/nginxWebUI -e BOOT_OPTIONS="--server.port=8080" --privileged=true -p 80:80 -p 443:443 -p 8080:8080 cym1102/nginxwebui:latest /bin/bash

注意:

  • 容器需要映射路径/mydata/nginxWebUI:/home/nginxWebUI, 此路径下存放项目所有数据文件, 包括数据库, nginx配置文件, 日志, 证书等, 升级镜像时, 此目录可保证项目数据不丢失. 请注意备份.
  • -e BOOT_OPTIONS 参数可填充java启动参数, 可以靠此项参数修改端口号, “–server.port 占用端口”, 不填默认以8080端口启动
  • 日志默认存放在/mydata/nginxWebUI/log/nginxWebUI.log

查看容器

docker ps

容器正常启动

访问后台管理

由于创建容器的时候我的容器端口参数--server.port=8080设置的为8080,所以我们就要使用服务器IP+8080端口就可以访问到后台。

例如我的服务器IP:192.168.223.140,那我就访问192.168.223.140:8080,就会进入到以下界面,第一次进入后台需要设置用户名和密码:

设置完用户名和密码后直接登录即可:

这里我们成功登录到后台:

在本地中可以配置Nginx基本参数、http参数、Stream参数、反向代理(server)参数、负载均衡。

例如:这里演示配置反向代理(server)参数

代理服务器80端口到服务器的8080端口进行测试

提交配置

启动配置

左边是生成的nginx配置,右边才是nginx的真正配置文件

替换文件

要想我们的配置生效,就需要将生成的nginx配置替换到真正的nginx配置文件中,这里很简单,只需要点击一下替换文件就可以进行替换了,而且替换后会自动备份原文件配置。

启动Nginx

这里有多种启动方案,如果启动失败可以切换其它方案,停止nginx也有多种方案,这里不一一演示。

测试配置

上面我们将80端口代理到8080端口,这样我们访问80端口会直接来到nginxWebUI的后台。

浏览器访问http协议默认就是80端口可以不用加,这里为了直观展示还是加了
效果:

可以看到我们的配置文件生效了,访问80端口被代理到服务器的8080端口。

最后

这里只展示了反向代理功能,其它功能的使用都差不多一样,大家可自行测试。

nginx本身功能复杂, 这个项目并不能涵盖nginx所有功能, 只能配置常用功能, 更高级的功能配置仍然需要在最终生成的nginx.conf中进行手动编写。

教程结束~

相关文章