有了這條指令,再也不怕把 Nginx 搞砸了?
我們很多運(yùn)維都有過這樣的經(jīng)歷;你只是對你的 Nginx 配置做“一點(diǎn)點(diǎn)小小的改變”,然后在你意識到之前,你的 Web 服務(wù)器就宕機(jī)了。幸運(yùn)的是,現(xiàn)在你有幸你看到我們 Linux 迷的這篇文章,在 Nginx 中有一個(gè)現(xiàn)成的答案,測試配置的改變!
在NGINX中,你可以執(zhí)行幾個(gè)任務(wù)來測試配置的改變,包括內(nèi)置的開關(guān)、最佳故障排除和權(quán)限測試。在本教程中,您將學(xué)習(xí)如何開始確保不再讓生產(chǎn)環(huán)境停止!
驗(yàn)證NGINX配置文件語法
NGINX配置文件需要遵循特定的模式。您不能只在配置文件中提供任何文本,然后就指望NGINX能理解它。我們要做的在將其發(fā)布到重要的環(huán)境之前,需要先測試其語法。
為了測試NGINX配置文件,NGINX二進(jìn)制文件提供了-t開關(guān)。-t開關(guān)是一個(gè)標(biāo)志,告訴NGINX讀取配置文件(以及主配置文件中引用的所有文件),并確保語法有效。
com/home/linuxmi/www.linuxmi.
? sudo nginx -t
該-t開關(guān)不僅測試主 NGINX 配置文件中的語法,而且還讀取和測試通過include語句引用的所有文件的語法。
如果配置文件的語法有效無錯(cuò),您將看到如下內(nèi)容:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
NGINX 配置測試成功
相反,您會在下面看到,如果您在配置文件中犯了錯(cuò)誤,-t開關(guān)會告訴您。
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 配置錯(cuò)誤
例如,如果 NGINX 由于權(quán)限問題而無法讀取配置文件中的包含文件,您將看到以下輸出。
包含文件中的權(quán)限錯(cuò)誤。
結(jié)論
你現(xiàn)在應(yīng)該知道如何使用 NGINX 來測試配置文件的語法了!當(dāng)您更改 NGINX 配置文件時(shí),請記住始終運(yùn)行-t開關(guān)!