当我在 Ubuntu 服务器上通过命令行重启 nginx 服务时,当 nginx 配置文件出错时服务崩溃。在多站点服务器上,这会关闭所有站点,甚至是没有配置错误的站点。
为了防止这种情况,我首先运行 nginx 配置测试:
nginx -t
测试成功后,我可以重启服务了:
/etc/init.d/nginx restart
或者只重新加载 nignx 站点配置而不重启:
nginx -s reload
有没有办法组合这两个命令,其中重启命令以配置测试的结果为条件?
我在网上找不到这个 the official documentation这是相当基本的。我不太了解 Linux,所以我不知道我正在寻找的东西是否就在我面前,或者根本不可能。
我正在使用 nginx v1.1.19。
最佳答案
从 nginx 1.8.0 开始,正确的解决方案是
sudo nginx -t && sudo service nginx reload
请注意,由于错误,configtest
always returns a zero exit code即使配置文件有错误。
关于ubuntu - 如何在Ubuntu上配置测试成功后才重启nginx?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18587638/