nginx tp5.* 配置,解决首页访问正常,其他请求(404,500)问题

本文记录了ThinkPHP5.1项目从本地测试环境成功迁移到Linux服务器的过程,包括遇到的问题及解决方案,如nginx配置、PHP环境调整等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 tp5项目在本地测试通过,但是上传到linux服务器上面的时候出现各种问题,折腾了两天终于解决,做个记录。

环境:乌班图 / nginx / php7.0 / thinkphp5.1

nginx安装方式未知(别人的服务器),安装后配置信息在/etc/nginx/sites-enable/default文件中,当然这个配置文件有很多种情况,有的是vhost,也有的是直接在nginx.conf(因机而已吧)。

下面是配置文件主要信息;

root 地址指向项目目录/public,看到有些网友说尽量不要指向public文件夹,但是也没说明具体原因,当然这也是我的知识盲区(毕竟nginx新手)。

下面是我的配置信息,仅仅做个参考吧。

注意:1.需要在php.ini中开启fix_pathinfo=1;去掉前面的分号注释。

           2.debug方式:查看nginx日志(error.log),虽然有些问题提示依旧找不到原因,但至少提供一个方向。

注释比较少,后面补充解释各个语句

 root /var/www/html/**/public; // ** 项目目录名称
 location / {

        try_files  $uri $uri/ /index.php?$query_string;
            
        if (!-e $request_filename) { 
           rewrite  ^(.*)$  /index.php?s=/$1 last; // 定义重写规则,参考tp5完全开发手册
           break;
        }

  }

 location ~ \.php(.*)$ {

        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO  $fastcgi_path_info;
        fastcgi_param  PHP_ADMIN_VALUE   "open_basedir=/var/www/html/**/:/tmp/:/proc/";         //**指项目目录,注意替换
        fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
        include        fastcgi_params;

    }

附赠:用到的linux命令有

find / -name *** :查找/目录下的***文件

mv *** *** 移动文件/重命名

/usr/sbin/nginx -s reload 或者service nginx restart 重启nginx

php -m 查看PHP安装的拓展项目

vim中,i进入insert编辑模式,:wq编辑并保存,:q!保存退出,/查找


       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值