lnmp下运行thinkPHP5的配置,针对404,502的错误
lnmp 集成环境下,运行tp
这是lnmp环境下运行tp的方法,如果还没有安装,可以点击参考安装,上述的安装很全面,我这里就不多赘述了,下面是安装完成之后的操作。
-
首先在命令行输入
lnmp vhost add
命令添加配置文件 -
点击回车后会出现如图所示的页面,提示输入域名,在这里输入虚拟域名,如图,我想要设置的虚拟域名为 test.com,输入点击回车后,会提示输入更多的域名,由于我这里为测试,就不多添加了,点击回车继续
-
接下来会要求输入目录地址,我的目录地址为/mnt/hgfs/shared/tp/public 故而我的输入如下,这里请以自己实际的项目地址。
-
点击回车,接下来会问你是否要求写入重写规则,由于lnmp默认不支持路由规则,加上我们不仅仅访问静态页面,故而需要允许重写规则,输入y回车继续,接下来会让输入重写规则,下面有可供选择的,如thinkPHP,laravel等等,这里我们选择输入thinkPHP
-
接下询问是否是pathinfo可用,我们需要用到,故而输入y,接下来询问是否选择写入日志,以及默认日志地址,这里我们可以选择是,也可以选择否,至于日志地址,我们可以选择输入自定义的,也可以回车直接使用默认的,我在这里是直接选择默认的,再次回车会问你是否要创建数据库,如果你不想现在创建, 可以后面创建,如果想,输入y
-
接下来输入mysql的密码,这个为下载的时候设置的,接下来输入当前的密码,以及数据库的名称,访问该数据库的密码等等,输入之后,会询问是否加入ssl证书,这个是对数据的加密,详细知识可以去了解一下http 以及 https 协议.我们在这里选择否,接下来再次回车,就生成了我们的配置文件.
7.接下在hosts文件下加入我们的域名,我的为192.168.0.107 test.com,其中test.com为我们前面输入的域名,192.168.0.107 为我的IP地址,如果你不知道你的地址是什么,可以通过ip addr
命令查看,配置完成后,我们通过配置的域名访问一下我们的项目,会发现出现404,或者503的错误,如果你的出现的是403,请先去配置hosts文件,hosts的文件路径为c:\windows\system32\drivers\etc ,这是怎么回事呢,这是因为我们的配置还没有完成. -
我们去查看一下之前配置的文件.默认情况下,我们的配置文件是在/usr/local/nginx/conf/vhost目录下,如果不在,你可以通过命令
find / -name 'vhost'
查找vhost在哪,进入该目录,输入ll
命令查看,会看到我们生成的文件,如我刚配置的conf文件,test.com.conf -
输入
vim test.com.conf
查看文件内容,如果提示你没有vim命令,你可以通过vi访问,或者通过yum install vim
命令安装vim -
打开后,会出现如上的内容,我们可以看到,我们配置的文件通过include 来引入了thinkPHP的重写规则,接着我们插入下面的代码:open——basedir后面换成自己项目所在的地址,如我的项目在/mnt/hgfs/shared/tp 目录下,(请尽量将下面代码加到和我一样的位置,否则可能会不起作用)
location ~ [^/].php(/|$) {
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param PHP_ADMIN_VALUE “open_basedir=/mnt/hgfs/shared/tp/:/tmp/:/proc/”;
} -
加入后保存,通过
lnmp restart
重启lnmp 或者通过service nginx restart
重启nginx服务器,接下来再次通过域名访问,发现就可以了 -
如果你想删除该域名,可以通过
lnmp vhost del
命令,如果你想修改域名,则可以修改conf文件里面的server name 如果你想通过这个域名访问其他的项目,也可以通过修改conf文件里的root来改变目录,不过请记得修改我们新加的代码,将open_basedir与你的目录保持一致