TP5部署在百度云主机的注意事项

最近在学习TP5,顺手开发个小程序正好遇到双11百度云主机做活动,于是搞了一个bch。但是也遇到很多坑,加上百度云主机对应的支持文档写的简单随意,也是遇到不少麻烦,整理出来,供参考。

1、程序文件上传位置

需要把你的程序根目录文件下的文件和文件夹上传到云主机对应的/webroot目录下,/webroot下此时已经有一些系统自动生成的文件,没关系,直接把你的文件内容(注意不是你的程序文件的根目录这一个文件夹,而是根目录下的所有内容)上传到这里就可以了。

2、首页无法进入的问题

无法进入自己的首页,主要因为从是thinkphp5开始,入口页面index.php被放在了public目录下了,所以,nginx这时候找不到入口文件,所以进不了主页。处理办法:

在webroot目录下新建index.php文件,增加一句代码即可

php
require './public/index.php';
?>

3、只有首页能进入,其他页面404无法找到文件

主要是因为在thinkphp中做了url的重写PATHINFO,隐藏了入口文件,所以你在你的apache服务器中是没有感知,http://localhost/index.php 与 http://localhost 是一样的效果,但是在云虚拟机中,用的是nginx,这个时候,你的入口文件就隐藏不了了,如果要隐藏,就会报错404无法找到文件。要么你在处理时候注意加上入口文件,要么做url重写。

处理办法:在webroot下新建bcloud_nginx_user.conf文件,代码如下:

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

4、可能你会遇到静态文件js/css/images等文件找不到,缺少样式等问题

处理办法:在webroot下bcloud_nginx_user.conf文件,继续添加如下代码:

location ~ ^/(images|javascript|js|css|flash|media|static|upload)/ {
    root /home/bae/app/public;
    expires 30d;
}

OK搞定!

转载于:https://www.cnblogs.com/panziwen/p/10297073.html

你可能感兴趣的:(运维,php,javascript)