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 ...