nginx對映到專案報錯502錯誤的解決過程

2021-09-14 07:45:19 字數 1416 閱讀 5803

cat /etc/nginx/nginx.conf  發現其中含一句:include /etc/nginx/conf.d/*.conf;

切換到目錄 cd /etc/nginx/conf.d/

新建: vim test2.conf

其中加入:

server

#以下**可以設定nginx支援php解析

location ~ \.php$

location ~ /\.ht

location ~* ^/(css|img|js|flv|swf|download)/(.+)$ }}

其中比較坑人的是,開始配置為:

fastcgi_pass unix:129.0.0.1:9000

殺死多餘的占用nginx的程序:kill -9 pid

並沒有用,再試其它方法

service php7.1-fpm status  

是active的

netstat -ant | grep 9000

發現沒有啟動,則9000埠沒被nginx中對映使用到,說明這裡出錯了fastcgi_pass unix:129.0.0.1:9000

這裡是由php-fpm配置決定使用的,則檢視php-fpm配置

發現是引入:include=/etc/php/7.1/fpm/pool.d/*.conf

則檢視/etc/php/7.1/fpm/pool.d/下的www.conf

發現其中監聽的方式為:

listen = /run/php/php7.1-fpm.sock

vim /etc/nginx/conf.d/test2.conf

fastcgi_pass 127.0.0.1改為fastcgi_pass unix:/run/php/php7.1-fpm.sock;

service nginx reload

service php7.1-fpm restart

解決問題!

說明以上只是本人遇到的502錯誤的解決方法,502錯還可能還會是其他原因造成的,主要入手點在於檢查nginx,php-fpm配置;

netstat -anpo | grep "php-cgi" | wc –l

若實際使用的fascgi程序數 接近或小於 預設的 fascgi程序數,那麼則需要增大,注意這個引數為在php-fpm.conf中的引數:max_children的大小;

php-fpm.conf中.request_terminate_timeout設定過小,在單個請求的php程式未執行完的情況下nginx就與php-fpm斷掉,導致傳送502 bad getway錯誤;

將其設定為0的話表示:永不超時;

將nginx.conf中的fastcgi對應的fastcgi_connect_timeout,fastcgi_sebd_timeout, fastcgi_read_timeout三個引數適當增大;

nginx提示502 錯誤

nginx提示502 錯誤 nginx 502 bad gateway沒有啟動,啟動命令是 spawn fcgi a 127.0.0.1 p 9000 c 10 u www data f usr bin php cgi 設定開機自啟動 ubuntu開機之後會執行 etc rc.local檔案中的指令...

針對nginx的502錯誤

2019年8月12日21點32分記 乙個nginx反向 的502錯誤 今天部署專案時,發現了這個錯誤,嘗試了多種解決方法,最終解決,特書此記。php fpm有乙個引數 max requests,該引數指明了,每個children最多處理多少個請求後便會被關閉,預設的設定是500。因為php是把請求輪...

Nginx 服務報錯502排查

伺服器併發量上來後部分介面報錯502,但是經檢視併發量遠沒達到伺服器極限。檢視nginx中配置檔案 usr local nginx conf vhost 中對應站點的日誌位置 data log 發現報錯誤connect to unix tmp php cgi.sock failed netstat ...