lnmp 1.4 默认配置运行 laravel 项目 500 异常的解决办法

本来不想自己再整理的,但是自己的收藏夹实在是。。。乱得不想说,导致我今天新配环境又掉坑,却半天找不回这篇文章。。。

没办法,还是要自己键盘敲过的内容才好入脑


相信不少朋友有通过lnmp vhost add创建域名绑定的习惯,心想着挺方便的,但是 lnmp 1.4 却有这么个大坑,500错误,而且日志无提供任何线索提供


排查一:

  1. 进入工程目录,执行ll -a看看目录下有没有.user.ini的隐藏文件,若没有就跳过这个排查吧
  2. 执行chattr -i .user.ini(因为.user.ini开始是删除不了的,跟以往处理疑难文件一样,要-i
  3. 执行rm -rf .user.ini

排查二:

  1. /usr/local/nginx/conf/vhost中找出刚lnmp vhost add生成的配置文件(域名).conf进行编辑

  2. 也可以直接vi /usr/local/nginx/conf/vhost/(域名).conf

  3. 按下面的注释改

     server
     {
         listen 80;
         #listen [::]:80;
         server_name laravel.local.com ;
         index index.html index.htm index.php default.html default.htm default.php;
         root  /home/wwwroot/laravel/public;
         include y.conf;
         #error_page   404   /404.html;
         # Deny access to PHP files in specific directory
         #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
         #注意这里注释掉不然 报错500 ,因为引入了php 配置,其中有句 try_files 开启就有报错
         #include enable-php.conf;
         #新增 支持laravel 优雅链接,在laravel 文档里有说明
         location / {
             try_files $uri $uri/ /index.php?$query_string;
         }
         #新增 支持php 的配置 
         location ~ \.php$ {
             #不能有下面这句 try_files ,不然报错500
             # try_files $uri /index.php =404;
             fastcgi_split_path_info ^(.+\.php)(/.+)$;
             #这句注意 后面是.sock 不是127.0.0..1
             fastcgi_pass  unix:/tmp/php-cgi.sock;
             fastcgi_index index.php;
             include fastcgi_params;
             fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    
         }
         #下面的默认不做修改
         location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
         {
             expires      30d;
         }
         location ~ .*\.(js|css)?$
         {
             expires      12h;
         }
         location ~ /.well-known {
             allow all;
         }
         location ~ /\.
         {
             deny all;
         }
         access_log  /home/wwwlogs/laravel.local.com.log;
     }
    
  4. :x保存退出后,lnmp reload重新加载配置

至此,问题应该解决了。如果还有500,请修改.env打开 laravel 项目的 debug 看看是不是项目的问题


整理来源:https://blog.csdn.net/dahuzix/article/details/73197718

若您觉得我的博文对您有帮助,欢迎点击下方按钮对我打赏
打赏