- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
首先,這里講的服務器環境(lnmp)是指 linux + nginx + php(php-cgi + php-fpm)+ mysql。
502 Bad Gateway是lnmp下出現得最頻繁的問題,其原因也有很多,以下是我收集的問題原因及其解決方法。
1. php進程死亡
此原因的問題表現為:每次動態(php)請求都出現502錯誤
解決方法:啟動php即可 “service php-fpm start “,或者 “php安裝路徑/php/sbin/php-fpm start”
2. php-cgi進程數不足
此原因的問題表現為:動態請求有時出現502錯誤,一般沒問題,這是并發高時php-cgi進程數不夠用的表現
解決方法:修改php-fpm配置php-fpm.conf,將60 中的數加大,max_children數的設置不僅取決于服務器硬件配置,而且和php程序的復雜度有關,一般4G內存可以設置到120-200。修改后把php-fpm reload下;必要時是再修改nginx配置nginx.conf,將 worker_processes 數調到與cpu數相等(worker_processes默認為1)
3. php-cgi進程超時
此原因的問題表現為:php進程運行一段時間后出現502錯誤,這種情況可能是php程序沒有加set_time_limit(0),也可能是被php-fpm的設置限定了運行時間,下面討論第二中情況
解決方法:修改php-fpm配置php-fpm.conf,將30s 中數字調到更高,調為0s則允許無限時間運行;必要時再修改nginx配置nginx.conf,將fastcgi_connect_timeout、 fastcgi_send_timeout、fastcgi_read_timeout參數加大
4. 磁盤空間不足
此原因較少,問題表現為:502錯誤或者無法連接到服務器,無法連接到服務器時nginx也死了
這種情況的判斷:啟動php-fpm或者nginx的時間較長,但最終啟動失敗,這大概就是磁盤空間不足了,然后可以用命令查看磁盤占用狀況:df -lh ,如果根目錄”/”對應的磁盤使用率為100%,那么需要清理磁盤空間
解決方法:刪除過大的日志文件,關閉部分服務組件的日志。一般需要檢查 /var/log 目錄下的日志文件,檢查 nginx、php的日志,檢查mysql的日志。如果以上目錄沒有問題,則需一個一個的檢查其他目錄(優先檢查 /usr目錄),刪除過大的文件。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP