一、502錯誤的定義
服務器(不一定是 Web 服務器)正在作為一個網關或代理來完成客戶(如您的瀏覽器或我們的 CheckUpDown 機器人)訪問所需網址的請求。 為了完成該請求,此服務器訪問一個上游服務器, 但收到無效響應。
二、思考
遇到這個問題,腦子一片空白,不知道該怎么解決。現在解決了,其實想想也挺簡單的。
為什么不知道怎么解決?原因有一下幾點:
1. 不明白為什么請求一直沒發過去,沒意識到錯誤是502產生的。前后端出現錯誤,完全可以看后端返回到前端的信息,自己沒想到從這個方面去處理問題。
2. 不明白502的含義,502其實是服務器完成客戶的請求失敗產生的。
3. 查服務器的信息的時候,並不明白調用邏輯,也不知道上傳機器上到底承載了哪些服務,是自己關注面太低了,很多事情都依賴芳哥去解決,導致問題來了的時候自己不能解決問題。但總有一天,自己是要獨當一面的啊,那個時候芳哥不在了,沒人教自己了,沒人替自己抗問題了,自己該怎么辦呢?所以一定要主動,積極的去承擔起自己的責任,這樣自己才有可能獨當一面。
4. 總的來說,還是意識和經驗不足,以及自己不傷心和偷懶造成的。
三、解決問題的邏輯
1. 去看前端報錯。
2. 想清楚調用邏輯,這個很關鍵,如果自己沒有對一個項目有一個全盤把握的話,就只能在自己的圈子里兜兜轉轉。
3. 根據調用的邏輯,一步步去排查,這樣總是能找到問題的。
四、解決問題
1. 問題復現,問題是什么?問題是文件上傳不成功,為什么不成功,看前端報錯,然后再去定位問題。

2. 搜索nginx服務,並得到結果
whereis nginx

3. 查看nginx的配置信息
/usr/sbin/nginx -t

4. 查看nginx的配置文件,以此來找出,它代理了幾個站點,每個站點的配置是怎樣的。
//站點配置位置 /etc/nginx/sites-enabled
//這個文件夾下有哪些站點就不方便展示了
5. 找到自己需要的站點信息,一般都有調用邏輯,哪個站點調用哪個站點,站點之間的調用有什么邏輯,這些都要自己先想清楚了。
圖:略
6. 找到最初的站點的錯誤日志,因為服務最開始調用的是它,所以在查的時候,當然也是需要從它開始查起。

7. 查看錯誤日志。日志顯示是連接到fpm出錯。

8. php-fpm為什么會出錯,已經到了最多紫禁城數了。

9. 結束。
五、收獲
1. 排查問題思路
2. 全局意思
3. 基礎知識
4. 經驗
加油吧,將將!!!!
