thinkphp5框架(后面统称tp5)已经上线有一段时间了,在还没有上线之前就一直在关注,而且还特地去赞助了一下作者,来表达作为一个对tp5 有浓厚兴趣的phper,。废话不多说,这次要整理的内容主要就是服务器环境问题,之前一直使用的是Apache,没想到的是搬迁到nginx的时候,出问题了,各种404,各种403,然后就是各种改,各种找资料,测试修改,费了不少时间。还是对这方面的技术不熟悉呀,所以很纠结。好在最后还是解决了。特地来这边标注一下,以后估计会常常用到。

我使用的是阿里云服务器,系统使用的  linux系统( centos 7), 安装环境使用的是一键安装包lnmp,这些都可以百度的到就不在具体讲啦。如果你是使用其他方式进行安装的,那目录可能不大相同,具体的还是以你们自己的为主,这里就不在细说了。

然后通过使用命令

lnmp vhost add

创建了一个站点比如 www.favortt.com, 这样在目录/usr/local/nginx/conf/vhost 中 就会创建一个 相同名称的配置文件 www.favortt.com.conf

接着我们来编辑这个文件最终显示内容如下

server
    {
        listen 80;
        #listen [::]:80;
        server_name pay.kissneck.com.cn;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/www.favortt.com/public;

        set $basedir "open_basedir=/home/wwwroot/www.favortt.com/:/tmp/:/proc/";
        #error_page   404   /404.html;
        include enable-php.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /\.
        {
            deny all;
        }
	location / {
            if (!-e $request_filename){
                rewrite ^/(.*)$ /index.php?s=/$1 last;
            }
	}

        access_log  /home/wwwlogs/www.favortt.com.log;
    }

以上是最终的一个内容。之前一直不成功,主要卡在了两个点上

  • tp5访问的目录是在 public 文件夹下面的而刚开始的时候忽略了这点。
  • open_basedir 没有添加造成首页可以访问,内页一个也访问不了。其实就是目录访问权限的问题。

其他的就按照文档里面提到的来添加就好,比如去掉index.php 最后 重启   lnmp restart  这样就配置好了,刷新页面也可以正常访问了,终于搞定了..

有需要的朋友来参考一下。