nginx 重启单个主机而不影响其他主机

nginx 重启单个主机而不影响其他主机

我的 nginx.conf 有两个不同的服务器块,一个指向主站点,另一个指向我的 api 服务器。现在,每当我将某些东西部署到其中一个服务器并停止服务器时,这两个服务器都会停止。有没有办法停止/重新启动一个特定的服务器而不干扰另一个服务器?

==============编辑:

我一直做错了。我不应该重启 nginx。就我而言,我只想让 Passenger 识别我的代码更改并刷新。只需tmp/restart.txt在目录中创建一个文件Rails.root就可以了。

对于面临同样问题的人,请tmp/restart.txt在根路径中创建一个空文件,每次想要部署时只需触摸它即可。

touch tmp/restart.txt

欲了解更多详情,请查看https://stackoverflow.com/questions/4480078/how-to-make-nginx-be-aware-of-rails-code-changes

答案1

不,没有选项可以重新启动单个虚拟服务器实例。但是,当应用服务器升​​级时,根本不需要这样做。

答案2

当现有连接必须工作时使用

kill -HUP `cat /path_to/nginx/file.pid`
HUP changing configuration, keeping up with a changed time zone (only for FreeBSD and Linux),
starting new worker processes with a new configuration, graceful shutdown of old worker processes

就您而言,不清楚为什么需要重新启动 nginx?

答案3

您可以使用 reload 而不是 restart

#nginx -s reload

或者

sudo service nginx reload 

相关内容