今天配置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配置的模式不符,导致的错误。