Nginx转发php站点的部分报错

文章讲述了在部署Nginx时遇到的两个常见错误,一是php-fpm.sock文件不存在,二是权限问题导致连接失败。解决方法包括检查php-fpm.sock文件生成并修改listen配置为合适的权限和所有者。

1.报错unix:/var/run/php-fpm/php-fpm.sock failed (2: No such file or directory

nginx的报错日志默认在/var/log/error.log

在nginx.conf文件中写的部分配置如下

        fastcgi_index   index.php;
        fastcgi_pass    unix:/var/run/php-fpm/php-fpm.sock;
        include         fastcgi_params;
        fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;

启动nginx服务后访问对应站点出现如下报错:

2023/09/07 10:21:36 [crit] 1682#1682: *11 connect() to unix:/var/run/php-fpm/php-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "127.0.0.1:9090"

 该报错是由于php-fpm未在/var/run/php-fpm/ 下生成php-fpm.sock文件,解决方法是修改/etc/php-fpm.d/www.conf的listen字段,修改监听方式

 重启后即可看见对应文件生成

2.connect() to unix:/var/run/php-fpm/php-fpm.sock failed (13: Permission denied)报错

该报错可能是由于文件的权限不足,nginx的启动用户默认为nginx,可能无法转发部分权限为root的文件目录,该报错的解决方法如下:
 

[root@yyt nginx]# chown nginx:nginx /var/run/php-fpm/php-fpm.sock

修改/etc/php-fpm.d/www.conf

修改监听权限所有者,将nobody改为nginx

;listen.owner = nginx
;listen.group = nginx

修改完成后重启nginx以及php-fpm 服务,再重新访问对应站点,发现可以正常访问了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值