ubuntu - 如何在Ubuntu上配置测试成功后才重启nginx?

标签 ubuntu command-line nginx

当我在 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/

相关文章:

docker - 如何在默认入口点之前执行命令?

linux - 无法签署模块 (vboxdrv)

sql - 通过linux使用mysqldump导出时将数据库名称添加到sql文件中

linux - 是否存在公开可用的部分解决方案来解析 *nix 样式的命令行选项而无需预先了解 key ?

nginx 位置 404 未找到

PHP - 尽管采用 UTF-8 编码,但字符串未正确显示

ubuntu - 没有规则进行目标安装(Kubuntu Konsole)

linux - X11 EvDev 触摸屏驱动程序 : Disable Long-Press Right-click on desktop

python - 扩展特定版本的 Python(在 Linux Ubuntu/Unity 上)

Linux 和/或 GOW 兼容 - 用文本文件替换关键字