LNMP一键包用于Laravel框架需注意事项

作者测试环境
系统  CentOS7.3
LNMP一键包部署  Nginx 1.16.1  PHP 7.3  Mysql 8.0
测试项目根目录  /home/wwwroot/default/newjob/public
项目基于Laravel框架
第一个坑

访问站点的时候出现404页面

  • 解决方案:
    在nginx配置文件中加上以下内容,因作者测试环境没有建虚机所以直接使用nginx.conf中的默认配置
配置文件  /usr/local/nginx/conf/nginx.conf
在server{}中添加
location / {  
        try_files $uri $uri/ /index.php?$query_string;  
} 

配置文件  /usr/local/nginx/conf/enable-php.conf
将try_files $uri =404;注释掉
第二个坑

再次访问时出现报错file not found.

  • 解决方案:
将nginx错误日志打开
在配置文件/usr/local/nginx/conf/nginx.conf中
access_log /home/wwwlogs/access.log;
下面添加一行
error_log /home/wwwlogs/error.log;  # 打开错误日志

访问错误日志发现报错:
2019/09/05 10:23:10 [error] 3214#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.18.71.37, server: _, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "172.18.71.220"

网上查找文档后发现需要将
fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
修改为:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

但作者用一键包部署的默认已经是上面的配置,后来转念一想$document_root指的是配置文件中的站点根目录设置,估计与根目录有关
作者根目录设置的是/home/wwwroot/default,但项目是在default下的newjob/public,访问通过IP/newjob/public的方式访问,依旧报错,因此尝试修改了nginx的配置文件将根目录调整为/home/wwwroot/default/newjob/public后重新访问发现正常了。

第三个坑

以上问题都处理后再次访问终于出现了比较熟悉的报错了,信息如下:
Warning: require(): open_basedir restriction in effect. File(/home/wwwroot/default/newjob/vendor/autoload.php) is not within the allowed path(s): (/home/wwwroot/default/newjob/public/:/tmp/:/proc/) in /home/wwwroot/default/newjob/public/index.php on line 24

  • 解决方案:
删除站点根目录下的隐藏文件.user.ini
$ sudo chattr -i /网站根目录/.user.ini
$ sudo rm -f /网站根目录/.user.ini

编辑配置文件/usr/local/nginx/conf/fastcgi.conf
将fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";注释重启nginx即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Benson_xuhb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值