我们很多运维都有过这样的经历;你只是对你的 Nginx 配置做“一点点小小的改变”,然后在你意识到之前,你的 Web 服务器就宕机了。幸运的是,现在你有幸你看到我们 Linux 迷的这篇文章,在 Nginx 中有一个现成的答案,测试配置的改变!
在NGINX中,你可以执行几个任务来测试配置的改变,包括内置的开关、最佳故障排除和权限测试。在本教程中,您将学习如何开始确保不再让生产环境停止!
验证NGINX配置文件语法
NGINX配置文件需要遵循特定的模式。您不能只在配置文件中提供任何文本,然后就指望NGINX能理解它。我们要做的在将其发布到重要的环境之前,需要先测试其语法。
为了测试NGINX配置文件,NGINX二进制文件提供了-t开关。-t开关是一个标志,告诉NGINX读取配置文件(以及主配置文件中引用的所有文件),并确保语法有效。
com/home/linuxmi/www.linuxmi.
⚡ sudo nginx -t
该-t开关不仅测试主 NGINX 配置文件中的语法,而且还读取和测试通过include语句引用的所有文件的语法。
如果配置文件的语法有效无错,您将看到如下内容:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
NGINX 配置测试成功
相反,您会在下面看到,如果您在配置文件中犯了错误,-t开关会告诉您。
com/home/linuxmi/www.linuxmi.
⚡ sudo nginx -t
nginx: [emerg] "error_page" directive is not allowed here in /etc/nginx/snippets/custom-error-page.conf:1
nginx: configuration file /etc/nginx/nginx.conf test failed
NGINX 配置错误
例如,如果 NGINX 由于权限问题而无法读取配置文件中的包含文件,您将看到以下输出。
包含文件中的权限错误。
结论
你现在应该知道如何使用 NGINX 来测试配置文件的语法了!当您更改 NGINX 配置文件时,请记住始终运行-t开关!