前言
之前在文章🧲NginxUI:界面化管理Nginx的工具中简单介绍了NginxUI工具和搭建,本文则探讨怎么使用NginxUI来做界面化的站点管理。
使用docker启一个nginx-ui用于测试,启动命令:
docker run -dit \--name=nginx-ui \--restart=always \-e TZ=Asia/Shanghai \-v /mnt/user/appdata/nginx:/etc/nginx \-v /mnt/user/appdata/nginx-ui:/etc/nginx-ui \-v /var/www:/var/www \-p 8080:80 -p 8443:443 \uozi/nginx-ui:latest
站点管理
1、通过网站管理功能来管理站点
网站管理是用于配置nginx站点代理的功能,刚启动好的nginx-ui,在网站管理这个界面是空的
(1)添加一个新的站点
拟添加的站点配置文件内容为:
[root@test101 app]# cat download.conf
server {listen 80;server_name download.test.com;location ^~ /down {alias /var/www/data/;access_log /var/log/nginx/down.access.log main;error_log /var/log/nginx/down.error.log warn;autoindex on;autoindex_localtime on;autoindex_exact_size off;charset gbk,utf-8;}
}
点击“站点管理”—“添加站点”,填写内容:
下一步可以开启TLS等配置,按需启用即可:
配置好后,点击“下一步”即完成配置:
到“站点列表”中查看刚刚创建的站点信息:
创建完毕之后,在服务器上进入容器能看到刚刚创建的站点文件了:
2、 创建测试文件,访问站点
在本地hosts添加一条解析:
10.0.0.101 download.test.com
(1)创建download目录和文件:
[root@test101 www]# mkdir /var/www/data
[root@test101 www]# echo "this is a test">/var/www/data/test1.txt
在浏览器则可直接访问了:
(2) 在配置管理中管理站点
配置管理界面默认会显示NginxUI容器/etc/nginx的文件:
可以在这里新增配置文件,点击右边“新增文件”,添加新的测试站点如下:
创建好的文件在配置管理界面能看到
在本地hosts添加一条解析:
10.0.0.101 download1.test.com
创建download1目录和文件:
[root@test101 www]# mkdir /var/www/data1
[root@test101 www]# echo "this is a test1">/var/www/data1/test2.txt
另外,需要将刚刚创建好的文件放在容器的/etc/nginx/sites-enabled/目录下:
root@d0e487bca4db:~# mv /etc/nginx/download1.conf /etc/nginx/sites-enabled/
这时候配置文件是不生效的,直接访问会报错:
需要重启nginx-ui容器才生效:
注意
:我们日常习惯把站点放在conf.d下面,但这里如果把download1.conf放在conf.d下,重启nginx-ui容器后,虽然http://download1.test.com:8080/down1/
可正常访问,但是NginxUI界面可能就报错了:
总结
测试使用了站点管理和配置管理两种方式创建和管理站点,分别有如下特点:
1、在站点管理界面中创建站点配置特点:
创建的文件默认放入/etc/nginx/sites-enabled目录下,即时生效,无需重启容器;
文件修改方便,在nginx-ui界面直接修改即可;
2、在配置管理界面创建站点配置文件特点:
创建的文件默认在容器的/etc/nginx目录下,不会在nginx.conf中生效,须手动在容器中将文件移动到容器的/etc/nginx/sites-enabled目录,然后重启nginx-ui容器生效;
在配置管理界面创建文件时,不能指定文件创建的路径;
文件修改不方便,须在容器内安装文件编辑命令,或进入容器将文件移入/etc/nginx目录下,在web界面修改;
创建的文件不能放入conf.d目录下,如果直接放入conf.d目录下,重启容器后,文件创建的站点能正常访问,但nginx-ui界面会报404了;
这就是关于在NginxUI界面上创建和管理转发站点的用法了,那么四层协议的转发、代理和负载均衡该怎么配置呢?
原创 SRE成长记