我把mac上的nginx的所有server块的
fastcgi_pass
的连接方式都改为了socket,
server{
listen 8080;
server_name localhost;
root /Code;
index index.php index.html;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/usr/local/etc/nginx/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
然后
www.conf
配置中监听的也是
listen=/usr/local/etc/nginx/php-fpm.sock
之后,重启了php-fpm和nginx.但是出现了 502 Bad Gateway 错误。
看了nginx的错误日志,发现upstream还是127.0.0.1:9000.
2017/03/24 22:54:19 [error] 54513#0: *2281 kevent() reported that connect() failed (61: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /a.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost:8080"
你确定你修改的配置文件的路径正确吗?
不知道macOS下Nginx的配置文件是在哪,Ubuntu下是加载
/etc/nginx/sites-enabled/
下的文件,而这里的文件其实是指向
/etc/nginx/sites-available/
下的文件的符号链接。
确定文件存在和有执行权限?