我的网站使用两个app服务器,即app1和app2,所以在配置中我有这样的东西:
upstream cluster {
server app1:8080;
server app2:8080;
}
Run Code Online (Sandbox Code Playgroud)
由于每次更新代码时我都需要重新启动两个服务器进程,并且我希望服务不受干扰,我将手动执行以下步骤:
app1在上游块内注释,以便将其修改为:
upstream cluster {
#server app1:8080;
server app2:8080;
}
Run Code Online (Sandbox Code Playgroud)跑 nginx -s reload
更新代码app1并重新启动服务器程序,然后app1在上游块中取消注释
执行步骤1-3 app2
我希望编写一个脚本来完成这项繁琐的工作,所以我希望这样做:
有一个名为"available"的文件夹,其中包含app1.conf和app2.conf形式为
server app1:8080;
Run Code Online (Sandbox Code Playgroud)有一个名为"已启用"另一个文件夹包含的软链接app1.conf和app2.conf
将上游集群修改为
upstream cluster {
include /usr/local/nginx/conf/enabled/*;
}
Run Code Online (Sandbox Code Playgroud)
因此,每次我需要禁用任何应用服务器时,我只需从"已启用"文件夹中删除相应的软链接,稍后可以通过运行来恢复它 ln -s
但是这种方法效果不好,因为我收到了来自nginx的错误消息:
[emerg]:这里不允许使用"include"指令....
难道这样include不能被放入上游区块吗?而且我想我在这种情况下并不孤单,有时禁用和启用服务器,其他人通常如何处理它?