系列簡介
該段來自于博客的開篇:
大多數(shù) Nginx 新手都會頻繁遇到這樣一個困惑逢并,那就是當(dāng)同一個 location 配置塊使用了多個 Nginx 模塊的配置指令時憎账,這些指令的執(zhí)行順序很可能會跟它們的書寫順序大相徑庭。于是許多人選擇了“試錯法”,然后他們的配置文件就時常被改得一片狼藉耕姊。
這個系列的教程就旨在幫助讀者逐步地理解這些配置指令背后的執(zhí)行時間和先后順序的奧秘婚陪。
概覽
由于工作需要蚓耽,需要學(xué)習(xí)Nginx的相關(guān)知識渠牲,特地開了這個系列來做學(xué)習(xí)筆記。
主要的學(xué)習(xí)內(nèi)容將來自于agentzh的博客
該篇為第一篇
安裝echo模塊
-前提:已經(jīng)有Nginx服務(wù)步悠,需要額外安裝echo模塊
安裝教程可以看:Nginx在已安裝的情況下新增 echo 模塊
最重要的是要注意這兩個命令
# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
# cp -f objs/nginx /usr/local/nginx/sbin/nginx
第一個命令是備份签杈;第二個命令很關(guān)鍵,將新編譯的Nginx服務(wù)覆蓋原有的Nginx服務(wù)鼎兽。如果沒有覆蓋原有Nginx服務(wù)答姥,可能會導(dǎo)致
- Nginx報錯unknown directive "echo"
- 無法使用類似于service nginx restart這種自定義Nginx命令
注意,在第一篇文章中接奈,需要額外安裝echo模塊踢涌,也需要打開Nginx 的 debug日志級別
./configure --with-debug
建議一起操作
使用curl命令測試
curl命令簡介:Linux curl命令詳解
先使用以下命令查看localhost是否解析到127.0.0.1;如果本地解析前面有“#”號序宦,刪除保存即可
# cat /etc/hosts
小結(jié)
- set命令作用于rewrite階段
- ngx_echo作用于content階段
- ngx_echo之所以輸出三行睁壁,是因?yàn)樽詈笠恍袨檩敵鲋甘卷憫?yīng)體末尾的結(jié)束標(biāo)記
- 在NG中輸出響應(yīng)體數(shù)據(jù),都會調(diào)用NG的輸出過濾器(output filter)