今天在把项目部署到新的服务器上时,遇到了 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”
从上面看解决一个问题最高效的一个方法就是 快速找到报错的原因,否则没法定位问题
本文分享了在LNMP环境下部署Laravel项目时遇到的404问题及解决方案,涉及vendor目录缺失、php-fpm配置不当及nginx运行用户权限问题。
9092

被折叠的 条评论
为什么被折叠?



