如何从0到1在linux部署thinkphp6项目

本文介绍在linux服务器搭建(php7.1+Nginx+mysql)环境,并且通过图形化工具phpmyadmin管理mysql数据库。让我们的thinkphp6项目上述环境正常运作起来。

1、更新yum update

yum upgrade

2、安装PHP&PHP-FPM

//安装源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 

//安装PHP和PHP-FPM
yum install php71w php71w-cli php71w-fpm 
//安装相关扩展
yum install php71w-mbstring php71w-common 
yum install php71w-gd php71w-mcrypt 
yum install php71w-mysql php71w-xml 
yum install php71w-soap php71w-xmlrpc

//启动PHP-FPM
systemctl start php-fpm  
//设置开机启动
systemctl enable php-fpm

3、安装Nginx

//安装nginx
yum install nginx  
//启动nginx
systemctl start nginx  
//使用systemctl设置开机启动
systemctl enable nginx

访问http://122.51.193.95(服务器ip),显示如下图nginx欢迎页面,Nginx设置成功。

images/20211224/7a0a42952d47873eda8fdd1b4b845c93.png

4、安装MySQL

//安装MySQL源
yum install https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
//安装MySQL
yum install mysql-community-server
//启动MySQL
systemctl start mysql 
//设置开机启动
systemctl enable mysql

查看安装的mysql是否已安装成功

rpm -qa|grep -i mysql

看到如下图,即启动成功

images/20211224/0780f33428645739a6ba77ea9e13ad94.png

5、修改MySQL密码

//找到随机生成的密码
cat /root/.mysql_secret
//登录mysql(需要上面的密码)
mysql -uroot -p
//更改密码,密码要求大写字母、小写字母以及数字和特殊符号
alter user 'root'@'localhost' identified by 'Qw.123456';

6、配置nginx站点(yxiaomo.cn为你的域名)

vim /etc/nginx/conf.d/ngnix.conf  
//写入以下内容
server {    
   //端口
   listen        80;    
   //域名
   server_name   yxiaomo.cn;    
   //项目地址
   root          /usr/share/nginx/html/XXXX;    
   index         index.php index.html;    
   location / {      
       try_files $uri $uri/ /index.php?$query_string;         
   }   
   // nginx支持PHP配置 
   location ~ \.php$ {      
       fastcgi_pass 127.0.0.1:9000;      
       fastcgi_index index.php;      
       include fastcgi.conf;           
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;    
   }  
}

//重启Nginx
systemctl restart nginx

//在/usr/share/nginx/html增加phpinfo.php文件写入以下内容 
<?php phpinfo();?>

通过地址http://XXX/phpinfo.php访问看到如下图,即配置成功

images/20211225/fbe3108906390f296b5bce0cd63b3ad0.png

7、安装phpMyAdmin

1、下载phpMyAdmin

首先在phpMyAdmin官方网站 phpMyAdmin - Downloads下载源码包,或者通过脚本之家进行下载:https://www.jb51.net/codes/405261.html  ,下载后上传到服务器解压即可,或者通过Linux命令来下载安装(推荐)

wget https://files.phpmyadmin.net/phpMyAdmin/4.6.0/phpMyAdmin-4.6.0-all-languages.tar.gz

2、解压文件

tar zxvf phpMyAdmin-4.6.0-all-languages.tar.gz

3、将phpMyAdmin-4.6.0-all-languages放到web目录下

mv phpMyAdmin-4.6.0-all-languages /usr/share/nginx/html/

4、重新命名

mv phpMyAdmin-4.6.0-all-languages phpMyAdmin

5、访问地址

尝试通过ip访问,http://本机ip地址/phpMyAdmin/,(也可通过上述nginx站点配置方式配置域名进行访问),即可看到熟悉的页面

images/20211225/94ea6bcd96db7ac59d6ef74ae4959d4f.png

8、部署thinkphp6项目

1、上传项目

上传完整项目后,按照上述nginx站点配置方式,把项目地址配置到/usr/share/nginx/html/XXX/public,即可通过配置的地址访问项目

server {      
    ...   
    //项目地址   
    root          /usr/share/nginx/html/XXXX/public;       
    ...  
}

2、配置伪静态

访问项目后,发现无论地址如何变化只显示首页,这是nginx不支持PATHINFO导致的,官方文档找到相应解决方法

images/20211225/1dac70052fbd0985a77ffdb72945cbfd.png

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

注意:每次修改完nginx配置后都要systemctl restart nginx,重启nginx服务方可生效

3、多应用入口识别成模块处理方法

我想大部分开发者都会用到多应用模式,毕竟前台访问模块后还有后台管理模块等。

如下图,小莫新增了一个admin.php的入口文件,window正常,部署到ngnix后admin.php就被识别为admin\php

images/20211225/52cdecb5d30ba8bca187d1d2b0947f5a.png

这是我们上述伪静态配置,把地址所有参数均配置到/index.php?s=/$1导致的,因此我们只需要在Nginx配置上配置admin.php的伪静态即可解决此问题。

location / {      
   ...
   if (!-e $request_filename) {      
       //这是配置伪静态,admin.php指向我们新增的admin.php入口文件  
       rewrite  ^/admin.php/(.*)$  /admin.php?s=/$1  last;        
       rewrite  ^(.*)$  /index.php?s=/$1  last;      
   }    
   ...
}

文章来源:如何从0到1在linux部署thinkphp6项目 | 猿小莫的博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值