本文介绍在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-FPMyum 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-FPMsystemctl start php-fpm //设置开机启动systemctl enable php-fpm
3、安装Nginx
//安装nginxyum install nginx //启动nginxsystemctl start nginx //使用systemctl设置开机启动systemctl enable nginx
访问http://122.51.193.95(服务器ip),显示如下图nginx欢迎页面,Nginx设置成功。
4、安装MySQL
//安装MySQL源yum install https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm//安装MySQLyum install mysql-community-server//启动MySQLsystemctl start mysql //设置开机启动systemctl enable mysql
查看安装的mysql是否已安装成功
rpm -qa|grep -i mysql
看到如下图,即启动成功
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; } }//重启Nginxsystemctl restart nginx//在/usr/share/nginx/html增加phpinfo.php文件写入以下内容 <?php phpinfo();?>
通过地址http://XXX/phpinfo.php访问看到如下图,即配置成功
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站点配置方式配置域名进行访问),即可看到熟悉的页面
8、部署thinkphp6项目
1、上传项目
上传完整项目后,按照上述nginx站点配置方式,把项目地址配置到/usr/share/nginx/html/XXX/public,即可通过配置的地址访问项目
server { ... //项目地址 root /usr/share/nginx/html/XXXX/public; ... }
2、配置伪静态
访问项目后,发现无论地址如何变化只显示首页,这是nginx不支持PATHINFO导致的,官方文档找到相应解决方法
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
这是我们上述伪静态配置,把地址所有参数均配置到/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; } ...}