Nginx 404 排查過程

2021-10-03 20:37:34 字數 1045 閱讀 9214

某天突然訪問自己的測試網域名稱,然後 404 了,然後就像無頭蒼蠅一樣,四處嘗試,看 nginx 的配置,折騰一番,無果。最後在同事的幫助下,找到了一些端倪。雖然這幾個步驟很簡單,但卻是整個解決問題的思路。

1、看 nginx 請求的 access.log

檢視 nginx 配置的日誌,確認請求已經到達了 nginx。

nginx 日誌配置指令:

access_log /data/logs/nginx/api.access.log;

error_log /data/logs/nginx/api.error.log;

2、檢查網域名稱指定的 upstream 訪問的 server 埠號是否正確
upstream my_service
我的網域名稱的 upstream 配置的是一台nginx 伺服器,請求都打到那台nginx 伺服器上,然後**到後端 server。有一天我訪問的時候突然就出現 404 了,我看 nginx 伺服器也是啟動得好好的,後端服務也是正常啟動的。

然後我在nginx伺服器上檢視它監聽的埠號:netstat -anp | grep nginx

發現我網域名稱配置的 upstream 的 server 埠號「8899」在上面這個圖中沒有,有可能是誰動了我的配置檔案,最後改了網域名稱指向的 upstream 的 server 埠號,然後 404 就消失了。

3、檢查後端服務是否可達

如果已經請求到 nginx,那就看是否請求到了後端服務,

先確認後端服務是否啟動起來,這個看後端日誌應該能發現點什麼,並通過curl 127.0.0.1:8080是看是否能訪問到你的服務。

每個人遇到的這個問題的原因可能不是相同的,但只要心中有乙個大致的解決問題的思路方向,就不會深陷其中而無法看清問題的本質。

連線排查過程

一 遠端連線排除過程 預備知識 ip位址 伺服器的位置 私網ip位址 內網 區域網 只有當前環境的人 192.168.0.10.0.0.埠號碼 洗浴中心服務 搓澡 按摩 推拿 拔罐 刮痧 特殊服務 暗號 21 25 80 443 23 22 暗號是用來區分不同服務的 埠是用來區分下面不同服務的 遠端...

mysql死鎖排查過程

即lock wait timeout exceeded try restarting transaction的異常,錯誤提示的意思,很明顯,是因為這條語句被鎖住了,所以釋放這個鎖。解決方案 我們可以通過到information schema中來進行查詢被鎖的語句。解釋 information sch...

nginx 404錯誤頁面配置詳解

nginx 錯誤頁面配置 再主配置檔案server中加入乙個location模組即可 vim etc nginx conf.d default.conf server 注意 usr local nginx html 路徑下必須有404.html這個檔案!root localhost html vim...