Nginx+PHP-FPM服務,Nginx502異常。TCP改爲Socket解決

問題:

1、Nginx報異常502錯誤碼

2、Nginx的log異常信息

2019/06/03 17:05:00 [error] 24892#0: *2 recv() failed (104: Connection reset by peer) while reading response header from upstream, client:**************, server: *************, request: "POST /?m=Betradar&t=LiveScores HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "push.***********"

原因:

百度到的問題:http://www.nginx.cn/102.html都未能解決. 總之確認的問題是 nginx和fastcgi通信問題.

解決:

重啓未解決,並且未做任何改動.TCP的這種鏈接方式依然不通,導致nginx訪問請求還是502.

最後換了個思路解決:不使用TCP使用Socket與FastCGI通信

實施:

  • 修改nginx的配置/usr/local/nginx/conf/nginx.conf

    #fastcgi_pass 127.0.0.1:9000;
    fastcgi_pass unix:/etc/php-fpm.d/php-fcgi.sock;

  • 創建socket文件,權限777

    touch /etc/php-fpm.d/php-fcgi.sock
    chmod 777 /etc/php-fpm.d/php-fcgi.sock

  • 修改fpm的配置

    #listen = 127.0.0.1:9000
    listen = /etc/php-fpm.d/php-fcgi.sock

啓動:

先重啓fpm:/etc/init.d/php-fpm restart

接着重啓nginx -s reload

 ll /etc/php-fpm.d/php-fcgi.sock 查看此文件就會變成S文件(socket文件)

概念補充:

1、PHP-FPM(FastCGI Process Manager:FastCGI進程管理器)是一個PHPFastCGI管理器.

2、CGI就是webserver和程序解釋器的橋

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章