问题
win10下安装wsl子系统,并成功搭建lnmp环境后,ngixn请求出现502错误。查看nginx日志(/var/log/nginx/error.log)报错如下。
2020/06/16 11:09:50 [error] 2293#2293: *1 upstream timed out (110: Connection timed out) while reading upstream, client: 192.168.58.102, server: 192.168.xx.xx, request: "POST 你的请求地址 HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.2-fpm.sock:", host: "192.168.xx.xx", referrer: "你的请求地址"
定位排查
检查php-fpm是否运行
执行命令查看php-fpm的启动状态,如果没有启动则启动php-fpm即可
/etc/init.d/php7.2-fpm status
或
ps -ef|grep php
php-fpm队列是否满了
1.在nginx配置中加一个location,设置如下
location ~ ^/status$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
}
2.在php-fpm.conf中打开选项
pm.status_path = /status
3.设置完成后即可通过 http://域名/status 看到当前的php情况。示例如下。
确认nginx配置文件
因为nginx和php有两种连接方法。
连接方式一:
fastcgi_pass 127.0.0.1:9000;
连接方式二:
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
这个具体怎么用要去php-fpm里面去看他的配置文件
/etc/php/7.2/fpm/pool.d/www.conf里面的Listen配置。
如果Listen是端口就写127.0.0.1:9000;
如果是路径,nginx的配置文件也要是路径,unix:/run/php/php7.0-fpm.sock;
确认两个地址配置一直后,重启一下nginx就可以访问了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。