今天在linux部署一个laravel项目,nginx报异常,以前都是直接检查php-fpm.conf的配置和nginx.conf的连接配置,确保统一,这是我当时的配置,看起来是没什么问题的

nginx.conf

location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass  unix:/tmp/php-cgi.sock;
        fastcgi_index index.php;
        proxy_ignore_client_abort on;
        proxy_read_timeout 300;
        proxy_connect_timeout 300;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
}

php-fpm.conf

[www]
listen = /tmp/php-cgi.sock
listen.owner = apache
listen.group = apache
listen.mode = 0666

都是指向/tmp/php-cgi.sock的,按理来说没有问题,反复重启php-fpm和nginx还是一样报错,于是检查了tmp目录,结果发现并没有生成php-cgi.sock,想到是权限问题。

解决方式(治标不治本):换了一个路径,之后生成了该文件,问题解决

后续讨论:这个权限不知道具体是在哪控制,我换的路径和tmp都是root权限,且都是755的权限,如果有高手知道,望告知

Logo

华为云1024程序员节送福利,参与活动赢单人4000元礼包,更有热门技术干货免费学习

更多推荐