由于fastcgi_pass 引发的bad gateway 502

今天配置phabricator代码review工具。配置nginx服务器,配置代码如下:

server {
    listen       80;
    server_name  pha.example.com;
    location / {
        index index.php;
        rewrite ^/(.*)$ /index.php?__path__=/$1 last;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #

     # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           /var/www/html/pha/phabricator/webroot;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www/html/pha/phabricator/webroot$fastcgi_script_name;
        include        fastcgi_params;
    }
}


配置之后允许提示 bad gateway 502网关错误。排查了半天也不知道出错原因,后来把问题定位到fastcgi_pass这个参数上。才发现原来在php-fpm.php也就是PHP的fpm配置文件里有个listen参数。

把默认的参数修改为127.0.0.1就OK了。这是因为默认的线程池的监听模式与nginx配置的模式不符,导致的错误。

你可能感兴趣的:(由于fastcgi_pass 引发的bad gateway 502)