thinkcmf的简单部署

感觉网上说的thinkcmf的安装部署不是很友好。现在记录一下我的部署。(只针对新手,老鸟一般都知道,不用往下看了)

1 去https://github.com/thinkcmf/thinkcmf 下载最新的代码。

下载解压后,会看到有一个public目录,默认这个目录是网站的根目录的。但我们一般会不会要这个目录,而是直接把里面的文件放根目录。 

开始是这样

新建一个thinkcmf目录,把除public目录外的文件都移动到thinkcmf下。然后把public里的所有文件移动到根目录。

最后目录如下:

2 接下来要要修改index.php里的代码。

// 定义CMF根目录,可更改此目录
define('CMF_ROOT', __DIR__ . '/../');

修改为

// 定义CMF根目录,可更改此目录
define('CMF_ROOT', __DIR__ . '/thinkcmf/');

这样,index.php入口文件就可以找到框架了。

为了安全考虑,你可以把thinkcmf移动到网站根目录外,这样可以提升安全系数。只是有些虚拟机不支持,就可以按我的这个目录结构来部署。目录名thinkcmf可以修改成你自己想要的。

访问网站域名就可以开始安装了,注意服务器要支持fileinfo和rewrite,不支持rewrite也可以安装,但是会比较麻烦,访问网站的时候要带上index.php这个入口文件名。

伪静态rewrite规则如下,apache的话,直接用.htacess里的规则就好了。 ngnix的用如下的规则

server{
	... 省略
	
    location / {
            index  index.php index.html index.htm;
             #如果请求既不是一个文件,也不是一个目录,则执行一下重写规则
             if (!-e $request_filename)
             {
                #地址作为将参数rewrite到index.php上。
                rewrite ^/(.*)$ /index.php?s=$1;
                #若是子目录则使用下面这句,将subdir改成目录名称即可。
                #rewrite ^/subdir/(.*)$ /subdir/index.php?s=$1;
             }
        }
        
     ... 省略
}

4 可以添加api应用代码

https://github.com/thinkcmf/thinkcmfapi

如果你需要api接口功能,访问上面的github下载源码,解压。

注意,按我上面的目录结构,需要把api目录名的文件全部放到thinkcmf目录。 把public目录下的所有文件放网站根目录。这样才能正常运行。不然按项目上的安装方法是不对的。为什么要这样,自己想一下吧。 

移动完文件后,修改根目录下的api/index.php(也就是直接解压后public/api/index.php)的入口地址。修改后的代码如下,修改的地方比较多,自己比较一下,主要是框架地址的目录部分要修改。

<?php
// +----------------------------------------------------------------------
// | ThinkCMF [ WE CAN DO IT MORE SIMPLE ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013-2017 http://www.thinkcmf.com All rights reserved.
// +----------------------------------------------------------------------
// | Author: Dean <zxxjjforever@163.com>
// +----------------------------------------------------------------------

// [ 应用入口文件 ]

// 调试模式开关
define("APP_DEBUG", true);

// 定义 APP 命名空间
define("APP_NAMESPACE", 'api');

// 定义CMF根目录,可更改此目录
define('CMF_ROOT', __DIR__ . '/../thinkcmf/');

// 定义应用目录
define('APP_PATH', CMF_ROOT . 'api/');

// 定义CMF目录
define('CMF_PATH', CMF_ROOT . '/simplewind/cmf/');

// 定义插件目录
define('PLUGINS_PATH', __DIR__ . '/../plugins/');

// 定义扩展目录
define('EXTEND_PATH', CMF_ROOT . '/simplewind/extend/');
define('VENDOR_PATH', CMF_ROOT . '/simplewind/vendor/');

// 定义应用的运行时目录
define('RUNTIME_PATH',CMF_ROOT.'/data/runtime/api/');

// 加载框架基础文件
require CMF_ROOT . '/simplewind/thinkphp/base.php';

// 执行应用
\think\App::run()->send();

nigix上还要添加支持api入口的伪静态规则 

location /api {
    index  index.php index.html index.htm;
     #如果请求既不是一个文件,也不是一个目录,则执行一下重写规则
     if (!-e $request_filename)
     {
        #地址作为将参数rewrite到index.php上。
        #rewrite ^/(.*)$ /index.php?s=$1;
        #若是子目录则使用下面这句,将subdir改成目录名称即可。
        rewrite ^/api(.*)$ /api/index.php?s=$1;
     }
}

ok,这样就部署好了,直接安装吧。

 

 

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

概念西瓜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值