經常我們會遇到502錯誤 , 502錯誤究竟是啥呢 , 在字面意思是指bad gateway 網關錯誤 , 網關是啥
在我們的nginx + php-fpm中 , nginx相當於網關 ,但是這里的錯誤卻是指的nginx的上游服務出錯了 , 也就是fpm出錯了.
nginx連不上fpm或者fpm自身超時的時候 , 會返回這個錯誤 .
在fpm的配置php.ini配置文件中
max_execution_time
以及fpm的配置文件比如www.conf中
request_terminate_timeout
這倆值代表當前腳本的執行超時時間 , 如果腳本里面運行的太慢 , 超過了php或者fpm設置的超時時間 , nginx就會報502
504錯誤和502是不一樣的 ,504是gateway timeout 網關超時 , 這里就是指的nginx里面配置的超時時間超過了
fastcgi_read_timeout
如果fpm響應的太慢 , 但是沒有超過他自己設置的時間, 但是超過了nginx這個時間 ,nginx就會報504
499是指的客戶端主動斷掉了連接 , 一般不常見 , 但是在我們后端互相進行系統調用的時候 , 可能會出現比如curl擴展那里也能設置超時時間 , 如果超過了 ,我作為客戶端主動斷掉連接 , 對方服務端那里會報499
500就是代碼里面語法有錯誤