laravel 404 file not found 错误查找

2019-12-01 08:25:05

参考地址 记一次laravel 404 file not found 填坑之旅

今天在把项目部署到新的服务器上时,遇到了 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”


从上面看解决一个问题最高效的一个方法就是 快速找到报错的原因,否则没法定位问题





  • 2017-07-16 20:17:56

    NodeJS处理Express中异步错误

    本文主要阐述如何在 Express 中使用错误处理中间件(error-handling middleware)来高效处理异步错误。在 Github 上有对应 代码实例 可供参考。

  • 2017-07-17 09:36:47

    linux service 命令使用说明

    service命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。相关的命令还包括chkconfig、ntsysv等,chkconfig用于查看、设置服务的运行级别,ntsysv用于直观方便的设置各个服务是否自动启动。service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务。

  • 2017-07-17 14:48:15

    通过node.js保存emoji到mysql

    但是emoji通过utf-8编码后,每个字符占4个字节,属于宽字符。而老版本的mysql只支持一个字符占3个字节,所以老版本的mysql是无法存储emoji的。新版本的mysql增加了字符集utf8mb4,可以支持单字符最多占4个字节。utf8mb4是utf8的超集,可以无需修改地支持原来的utf8字符 要让mysql存储emoji,需要满足2个条件:

  • 2017-07-17 14:48:20

    通过node.js保存emoji到mysql

    但是emoji通过utf-8编码后,每个字符占4个字节,属于宽字符。而老版本的mysql只支持一个字符占3个字节,所以老版本的mysql是无法存储emoji的。新版本的mysql增加了字符集utf8mb4,可以支持单字符最多占4个字节。utf8mb4是utf8的超集,可以无需修改地支持原来的utf8字符 要让mysql存储emoji,需要满足2个条件:

  • 2017-07-17 17:05:03

    大白话讲解Promise(一)

    去年6月份, ES2015正式发布(也就是ES6,ES6是它的乳名),其中Promise被列为正式规范。作为ES6中最重要的特性之一,我们有必要掌握并理解透彻。本文将由浅到深,讲解Promise的基本概念与使用方法。

  • 2017-07-19 07:54:11

    Javascript中delete运算符

    Delete是Javascript语言中使用频率较低的操作之一,但是有些时候,当我们需要做delete或者清空动作时,就需要delete操作。在这篇文章中,我们将深入探讨如何使用它,以及它是如何工作的。