记,帮朋友解决lnmp+thinkphp5环境及部署问题

2018-03-21 03:04

阅读:502

最近一个好哥们到广州来面试,

介绍过去的,对方让有空过去给予lnmp,搭建下环境跑个系统,算是个考核

由于朋友之前工作的公司,主要对接一些国企,银行什么的,估计对linux环境不熟。让其熟悉了下常见的lnmp一键环境,就过去了。

后来,过去发现是tp5,一直没能正常跑起来。对lnmp环境不熟的朋友来说,应该会百度好久才能解决。


于是,我便从微信指出了基础需要修改的地方。

用过lnmp一键环境的人,应该知道默认没有对pathinfo进行支持的。

如下几处:

①lnmp建立虚拟主机的时候网站根目录是默认/home/wwwroot/domain.com

如果已经建立了,需要将根目录改成/home/wwwroot/domain.com/public

然后将include enable-php.conf;改成include enable-php-pathinfo.conf;

②写入重定向代码:

就是将所有请求且没有找到对应文件,都给重定向到index.php上(当然如果你把index.php重命名了,你就改成对应的)

location / {
            if (!-e $request_filename) {
               rewrite  ^/(.*)$  /index.php/$1  last;
               break;
            }
        }

到这里nginx已经对pathinfo进行了支持,当然到这里还没有结束。

③php也需要开启pathinfo,去php.ini查看是否开启了pathinfo

搜索:cgi.fix_pathinfo将值改为1:cgi.fix_pathinfo=1

重启nginx

如果大家用的lnmp的一键环境是lnmp.org出的,在网站根目录下,应该还有一个.user.ini文件(在ftp中可以看到,ls命令及xftp均看不到)。你可以直接在网站根目录执行:vi .user.ini。如果里面有内容,则说明存在该文件

④我的做法是直接删除该文件。文件是锁定的,需要

使用chattr -i .user.ini 后进行删除

ok,到这里已经结束了。

另外:你可以将第②步的代码写入conf独立文件中,在nginx/conf/中新建一个xxx.conf或者填写如other.conf(默认是空的,其他地方没有调用它)。

然后在对应的vhost配置文件中直接include other.conf   记得include的不填写目录,调用的是nginx/conf文件夹下,因为vhost的配置文件都是在nginx.conf最后一个include vhost/*.conf进行调用的。


本文首发站素材-http://www.zhansucai.com,转发请标注文章出处。

超超

努力每一天,奋斗为明天。

热门作品

文章推荐

猜你喜欢