![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL9UlaNdXTE9UMFRVT3V1MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLwcDNyMjMzYTM5AjNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
遇到504錯誤,加了好多列印資訊,發現列印出來都沒毛病。
接着猜想是正式環境的資料和本地測試環境的資料不一樣,又把正式環境的資料導回到本地測試,結果發現兩者列印資訊一模一樣,但本地就可以正常打開網頁,而正式環境就報504錯誤。
在對比了日志之後,發現正式環境的日志打到了某一處就沒了,猜想這個時候應該是某個逾時機制生效導緻程式不再往下走了。
一開始找了好多答案,有說nginx.conf裡設定fastcgi逾時時間的
fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
但設定了之後發現沒用,最後在https://blog.csdn.net/tmpbook/article/details/43734699這篇文章中找到答案——
原來我的nginx配置檔案裡設定了uwsgi_read_timeout為2秒
把它改大一點就OK了。
啟發:
這次找Bug浪費了大半天時間,如果一早先排查正式配置檔案,就可以避免做無用功。看到傳回碼504,應該先排查一遍環境的逾時配置。