腾讯云服务器CentOS7.2安装宝塔搭建LNMP环境并安装ThinkCMF5.1框架


多读多写多记录,多学多练多思考。----------- Banana.Banuit Gang(香柚帮)


购买了云服务器之后,想要正常的运行一个PHP或Java项目,首先第一步你得搭建一个运行这个项目的环境,就像你在电脑上进行本地开发一个PHP项目,你首先得安装Apache和MySQL,开发一个Java项目你得首先装一个JDK和Tomcat等等。

下边我们在CentOS7.2上边通过安装宝塔Linux面板来快速的搭建一个Linux+Nginx1.16+MySQL5.6+PHP7.2(LNMP)的环境,并在此环境下部署安装ThinkCMF5.1框架。

1. 登录腾讯云服务器控制台,登录ssh终端,输入命令安装宝塔Linux面板

  Linux面板6.9.2安装命令:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

  安装完成之后,会给你一个宝塔面板登录地址Bt-Panel,一个用户名username ,一个密码password,记录下来并打开浏览器登录宝塔面板。

2. 登录宝塔Linux面板搭建LNMP环境

  首次登录宝塔面板,会让你选择搭建安装LNMP或者LAMP,我们选择安装LNMP,版本我选择的是Nginx1.16+MySQL5.6+PHP7.2,上传工具FTP和数据库工具phpMyAdmin4可以选择安装,我是在电脑上下载的WinSCP用来把代码上传到云服务器,用的Navicat来管理数据库。

  当然后期如果你需要什么服务,可以去软件商店另行下载安装。

3. 上传代码到云服务器

  环境安装好之后,利用WinSCP将下载好的ThinkCMF5.1框架上传到我们云服务器的/www/wwwroot/目录下

腾讯云服务器CentOS7.2安装宝塔搭建LNMP环境并安装ThinkCMF5.1框架_第1张图片腾讯云服务器CentOS7.2安装宝塔搭建LNMP环境并安装ThinkCMF5.1框架_第2张图片

4. 代码上传完成之后 ,接下来就是在宝塔面板中创建网站和数据库。  

腾讯云服务器CentOS7.2安装宝塔搭建LNMP环境并安装ThinkCMF5.1框架_第3张图片

腾讯云服务器CentOS7.2安装宝塔搭建LNMP环境并安装ThinkCMF5.1框架_第4张图片 

创建完网站之后,由于是tp5项目,所以我们要配置一下网站目录下的运行目录 

腾讯云服务器CentOS7.2安装宝塔搭建LNMP环境并安装ThinkCMF5.1框架_第5张图片

5. 接下来在浏览器输入域名或ip就可以进入ThinkCMF5.1的安装页面了 

  但是此时只有第一个页面能进,其他页面全部报404,只是因为需要我们的服务器需要设置rewrite伪静态,设置好之后就可以正常访问了

腾讯云服务器CentOS7.2安装宝塔搭建LNMP环境并安装ThinkCMF5.1框架_第6张图片

    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;
        }
    }
	
	location /api/ {
        index  index.php index.html index.htm;
         #如果请求既不是一个文件,也不是一个目录,则执行一下重写规则
         if (!-e $request_filename)
         {
            #若是子目录则使用下面这句,将subdir改成目录名称即可。
            rewrite ^/api/(.*)$ /api.php?s=$1;
         }
    }
	
	location ~* ^\/upload\/.+\.(html|php)$ {
		return 404;
	}
	
	location ~* ^\/plugins\/.+\.(html|php)$ {
		return 404;
	}
	
	location ~* ^\/themes\/.+\.(html|php)$ {
		return 404;
	}
	
    #proxy the php scripts to php-fpm
    location ~ \.php {
            include fastcgi_params;
            ##pathinfo支持start
            #定义变量 $path_info ,用于存放pathinfo信息
            set $path_info "";
            #定义变量 $real_script_name,用于存放真实地址
            set $real_script_name $fastcgi_script_name;
            #如果地址与引号内的正则表达式匹配
            if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
                    #将文件地址赋值给变量 $real_script_name
                    set $real_script_name $1;
                    #将文件地址后的参数赋值给变量 $path_info
                    set $path_info $2;
            }
            #配置fastcgi的一些参数
            fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
            fastcgi_param SCRIPT_NAME $real_script_name;
            fastcgi_param PATH_INFO $path_info;
            ###pathinfo支持end
        fastcgi_intercept_errors on;
        
        fastcgi_pass   127.0.0.1:9000; 
        # fastcgi_pass 如果是 sock形式,可能是下面的配置
        # fastcgi_pass unix:/tmp/php-cgi.sock
    }

 进入安装下一页会显示你的环境配置版本等等,这里我们需要把data和upload文件夹设置权限为777,然后安装一下fileinfo扩展

腾讯云服务器CentOS7.2安装宝塔搭建LNMP环境并安装ThinkCMF5.1框架_第7张图片 

腾讯云服务器CentOS7.2安装宝塔搭建LNMP环境并安装ThinkCMF5.1框架_第8张图片

继续下一步 

腾讯云服务器CentOS7.2安装宝塔搭建LNMP环境并安装ThinkCMF5.1框架_第9张图片

我当初就是因为没分清本地数据库的含义,一直搞得这里数据库连接超时,我们现在相当于在远程服务器上边的MySQL数据库中创建数据库,所以相对于远程服务器来说,它属于远程服务器的本地数据库,所以数据库服务器ip应该写成127.0.0.1而非外网ip,一定要搞清楚概念,我一直以为127.0.0.1或者localhost仅仅属于电脑上安装的MySQL数据库,真是栽了大坑,搞了2,3天才解决。而我们用电脑上安装的Navicat连接云服务器上边的这个数据库的时候,数据库服务器必须写成外网ip,因为相对于我们电脑来说,它属于远程数据库。

然后继续点击下一步就可以安装完成了。

补充:电脑上的Navicat连接远程数据库 

这里我们需要在云服务器新建一个安全组,放开数据库3306端口,然后再去宝塔面板的安全里边放行3306端口才能成功连接,否则连接不成功。

云服务器新建安全组可以参考:https://www.bt.cn/bbs/thread-19376-1-1.html

腾讯云服务器CentOS7.2安装宝塔搭建LNMP环境并安装ThinkCMF5.1框架_第10张图片

宝塔面板放行端口 

腾讯云服务器CentOS7.2安装宝塔搭建LNMP环境并安装ThinkCMF5.1框架_第11张图片

然后再连接Navicat就没问题了。

腾讯云服务器CentOS7.2安装宝塔搭建LNMP环境并安装ThinkCMF5.1框架_第12张图片 

你可能感兴趣的:(LINUX)