Nginx-配置指令的執(zhí)行順序(一)---學(xué)習(xí)

系列簡(jiǎn)介

該段來(lái)自于博客的開(kāi)篇:
大多數(shù) Nginx 新手都會(huì)頻繁遇到這樣一個(gè)困惑,那就是當(dāng)同一個(gè) location 配置塊使用了多個(gè) Nginx 模塊的配置指令時(shí),這些指令的執(zhí)行順序很可能會(huì)跟它們的書(shū)寫(xiě)順序大相徑庭。于是許多人選擇了“試錯(cuò)法”,然后他們的配置文件就時(shí)常被改得一片狼藉。
這個(gè)系列的教程就旨在幫助讀者逐步地理解這些配置指令背后的執(zhí)行時(shí)間和先后順序的奧秘。

概覽

由于工作需要,需要學(xué)習(xí)Nginx的相關(guān)知識(shí),特地開(kāi)了這個(gè)系列來(lái)做學(xué)習(xí)筆記。
主要的學(xué)習(xí)內(nèi)容將來(lái)自于agentzh的博客
該篇為第一篇

安裝echo模塊

-前提:已經(jīng)有Nginx服務(wù),需要額外安裝echo模塊
安裝教程可以看:Nginx在已安裝的情況下新增 echo 模塊
最重要的是要注意這兩個(gè)命令

# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
# cp -f objs/nginx /usr/local/nginx/sbin/nginx

第一個(gè)命令是備份;第二個(gè)命令很關(guān)鍵,將新編譯的Nginx服務(wù)覆蓋原有的Nginx服務(wù)。如果沒(méi)有覆蓋原有Nginx服務(wù),可能會(huì)導(dǎo)致

  • Nginx報(bào)錯(cuò)unknown directive "echo"
  • 無(wú)法使用類(lèi)似于service nginx restart這種自定義Nginx命令

注意,在第一篇文章中,需要額外安裝echo模塊,也需要打開(kāi)Nginx 的 debug日志級(jí)別
./configure --with-debug
建議一起操作

使用curl命令測(cè)試

curl命令簡(jiǎn)介:Linux curl命令詳解
先使用以下命令查看localhost是否解析到127.0.0.1;如果本地解析前面有“#”號(hào),刪除保存即可

# cat /etc/hosts

小結(jié)

  • set命令作用于rewrite階段
  • ngx_echo作用于content階段
  • ngx_echo之所以輸出三行,是因?yàn)樽詈笠恍袨檩敵鲋甘卷憫?yīng)體末尾的結(jié)束標(biāo)記
  • 在NG中輸出響應(yīng)體數(shù)據(jù),都會(huì)調(diào)用NG的輸出過(guò)濾器(output filter)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容