摘要:調試的配置標簽空格分隔調試配置注該文原文是默認,僅僅記錄標準錯誤日志到默認的文件中,或是被指令指定的文件中。重要對于配置文件的任何改變,你都必須測試和重載的配置文件來讓變更生效。將記錄最大的消息。
調試 Nginx 的配置
標簽(空格分隔): Nginx 調試 Debuging 配置
注:該文原文是 Debugging Nginx Configuration
默認,Nginx 僅僅記錄標準錯誤日志到 Nginx 默認的 error 文件中,或是被 error_log 指令指定的文件中。
我們可以控制許多方面的錯誤日志,這將幫助我們調試我們 Nginx 配置文件。
重要:對于 Nginx 配置文件的任何改變,你都必須測試和重載 Nginx 的配置文件來讓變更生效。在 Ubuntu 系統,你可以簡單的運行 nginx -t && service nginx reload 命令。
在我們繼續進行之前在你復制粘貼任何 Nginx 配置之前,確保你移除了你不想要的代碼。并且,每次你升級 Nginx,也請使用最新版 Nginx 提供的更新你的配置文件。
在我們開始之前,請詳細閱讀這些官方文章:通常的 Nginx 陷阱,if 是惡魔,location 指令和 Nginx 請求過程。你可能會多帶帶使用它們來解決你的問題。
注:5 星推薦上面的幾篇官方文章。
好吧,看起來你需要一些嚴謹的調試,讓我們開始!
僅僅調試 rewrite 規則大部分時間,你僅僅需要這個,特別是當你看見 404 或是不是期望的頁面的時候。
server { #other config error_log /var/logs/nginx/example.com.error.log; rewrite_log on; #other config }
rewrite_log 僅僅是一個標志。當打開它,它將發送所有的 rewrite 相關的日志信息到 error_log 文件中,使用 [notice] 級別。
因此,一旦你打開了它,在 error_log 中查看日志信息。
設置 Nginx 日志的調試級別下面的示例增加了 debug 級別,記錄在指定的路徑。
server { #other config error_log /var/logs/nginx/example.com.error.log debug; #other config }
debug 將記錄最大的消息。你可以在這里看到其他值
設置 Nginx 僅僅記錄來自于你的 IP 的錯誤注意:在一個高流量的網站,不要忘記恢復 error_log 日志的調試級別,error_log 可能會吃光你所有的可用磁盤空間,并引起服務器 crash。
當你設置日志級別成 debug,如果你在調試一個在線的高流量網站的話,你的錯誤日志可能會記錄每個請求的很多消息,這樣會變得毫無意義。
為了促使 Nginx 記錄僅僅來自于你的 IP 的錯誤日志,添加以下行到配置文件 /etc/nginx/nginx.conf 的 events{..} 。
確保使用你自己的公網 IP 替換 1.2.3.4,你可以在這里找到你的公網 IP。
events { debug_connection 1.2.3.4; }
你可以在這里查看更多的細節。
Nginx 的 Location 指定錯誤日志在 Nginx 中,我們使用 location{..}。
為了調試一個應用的部分,你可以在一個或多個 location{..} 中指定 error_log 指令。
server { #other config error_log /var/logs/nginx/example.com.error.log; location /admin/ { error_log /var/logs/nginx/admin-error.log debug; } #other config }
以上將僅僅調試你應用的 /admin/ 部分,錯誤日志將被記錄到一個不同的文件中。
你可以組合使用 debug_connection 和 error_log 來獲取更多的控制調試日志。
使用 Nginx 的 HttpEchoModule 模塊調試HttpEchoModule 是一個獨立的 Nginx 模塊,它可以幫助你完全以不同的方式調試。這個模塊默認沒有被 Nginx 綁定。
你需要重新編譯 Nginx 來使用這個模塊。對于 Ubuntu 用戶,這是一個快速啟動倉庫。
我最近在使用它,我還用它來調試項目。當我做完的時候,我將寫一篇文章詳細講述。
為 Nginx 的配置使用 Perl/Lua 語言如果你仍然有困難的時間,并且你定期配置你的 Nginx,應該考慮使用其他語言來處理你的 Nginx 配置。
這里有關于 Perl 語言 和 Lua 語言的 Nginx 模塊。
我非常不善于學習新的語言,不會有太多的機會寫更多關于這方面的東西,但是如果你知道或是可以非常容易學習 Perl/Lua,這會非常有趣。
擴展閱讀
How Nginx’s location-if works!
Maintaining, Optimizing & Debugging WordPress-Nginx Setup
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/39091.html
摘要:與協同工作原理首先,的轉發端口與的監聽端口需一致。然后將請求映射成請求,通過對應端口向發送。獲取并處理請求后,通過對應端口反饋給處理后的數據,將數據輸出到瀏覽器,一次請求結束。 A. nginx 與 php 協同工作原理: 首先,nginx 的轉發端口 與 php 的監聽端口需一致。然后 nginx 將 http 請求映射成 fastcgi 請求,通過對應端口向 php 發送。php ...
摘要:與協同工作原理首先,的轉發端口與的監聽端口需一致。然后將請求映射成請求,通過對應端口向發送。獲取并處理請求后,通過對應端口反饋給處理后的數據,將數據輸出到瀏覽器,一次請求結束。 A. nginx 與 php 協同工作原理: 首先,nginx 的轉發端口 與 php 的監聽端口需一致。然后 nginx 將 http 請求映射成 fastcgi 請求,通過對應端口向 php 發送。php ...
摘要:最近做項目,遇到單點登錄,方法是在前端做代理。調通之后開始思考如何在本地開發環境調試單點登錄這一功能。 最近做項目,遇到單點登錄,方法是在前端做nginx代理。應用系統需要配合做如下調整:1、使用*.頂級域名訪問,確??梢院蚄AM共享cookie2、對來自Nginx代理的訪問放開登錄認證(安全起見,對來自其他IP的訪問應該禁止)3、應用系統從請求頭kam_remote_user中讀取登...
摘要:微信分享在本地調試的時候會出現域名無效的報錯所以配置了一個在微信開發者工具中調試首先聲明我是系統在文件夾下更改文件在最后一行添加上這里是你想配置的域名然后安裝更改文件夾下的你代理的本地這樣保存后我是項目需要在項目中設置然后重新啟 微信分享在本地調試的時候會出現域名無效的報錯:errMsg:config:fail,Error: invalid url domain所以配置了一個nginx...
摘要:微信分享在本地調試的時候會出現域名無效的報錯所以配置了一個在微信開發者工具中調試首先聲明我是系統在文件夾下更改文件在最后一行添加上這里是你想配置的域名然后安裝更改文件夾下的你代理的本地這樣保存后我是項目需要在項目中設置然后重新啟 微信分享在本地調試的時候會出現域名無效的報錯:errMsg:config:fail,Error: invalid url domain所以配置了一個nginx...
閱讀 629·2023-04-26 01:53
閱讀 2753·2021-11-17 17:00
閱讀 2890·2021-09-04 16:40
閱讀 1990·2021-09-02 15:41
閱讀 839·2019-08-26 11:34
閱讀 1227·2019-08-26 10:16
閱讀 1339·2019-08-23 17:51
閱讀 824·2019-08-23 16:50