Nginx转发php站点的部分报错

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 服务,再重新访问对应站点,发现可以正常访问了

猜你喜欢

转载自blog.csdn.net/TttRark/article/details/132733680