今天在把项目部署到新的服务器上时,遇到了 laravel 404 的问题。 服务器LNMP 环境是同事搭的,这种问题也是第一次遇到,
查看虚拟主机的nginx
发现瓦力部署 laravel 项目的时候,忘记将 vendor 目录上传到项目里, 上传以后 ,发现还是404。
查看 /var/log/nginx/error.log
发现报错都是
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream,
遂Google之、
其中找到下面这段
大概的意思是 php 进程运行用户导致的
`ps aux | grep php` 查看
发现是 apache 用户, 打开/etc/php-fpm.d/www.conf
将 user 和 group 改为www
user = www
group = www
问题解决
还有一个坑就是 nginx 进程的运行用户,与代码目所有者 或者权限不一致,会导致403 错误
下面是参考的链接 Nginx 1 FastCGI sent in stderr: “Primary script unknown”
从上面看解决一个问题最高效的一个方法就是 快速找到报错的原因,否则没法定位问题