-
2台服务器环境需一致
-
os:ubuntu 20.04
-
php: 7.2
-
nginx:1.18
-
mysql:5.7
1.编辑镜像源文件
sudo vim /etc/apt/sources.list
2.在尾部添加清华大学镜像源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
3.apt-get update
4.apt-get install mysql-server-5.7
三、开启远程连接与忽略表名大小写
1.更新root用户的host
使用 mysql -u root -p 命令登录mysql,有密码输密码无密码直接回车
mysql -uroot -p 密码为Ft123456..
进入mysql后,使用mysql数据库
use mysql;
再进行对root用户的host进行更新
update user set host = '%' where user = 'root';
2.对root用户进行赋权
grant all privileges on *.* to 'root'@'%' with grant option;
赋权后记得刷新权限
flush privileges;
查看用户权限
SELECT user,host FROM mysql.user;
3.修改/etc/my.cnf,有的是修改/etc/mysql/mysql.conf.d/mysqld.cnf文件,我的环境是修改的/etc/mysql/mysql.conf.d/mysqld.cnf文件,具体根据自身环境来
vim /etc/mysql/mysql.conf.d/mysqld.cnf
修改 bind-address = 0.0.0.0
4.重启mysql服务
sudo service mysql restart
5.关闭防火墙,或放行3306端口
systemctl stop ufw
6.远程测试访问mysql数据库
四、安装php7.2及php-fpm
apt-get install software-properties-common
add-apt-repository -y ppa:ondrej/php
apt-get update
apt-get install php7.2
apt list | grep php
四.安装PHP
nginx使用php的话要用到php7.2-fpm,所以要安装下列依赖
sudo apt-get install php7.2-mysql php7.2-fpm php7.2-curl php7.2-xml php7.2-gd php7.2-mbstring php-memcached php7.2-zip
2.配置php-fpm
vim/etc/php/7.2/fpm/pool.d/www.conf
;listen = /run/php/php7.2-fpm.sock
listen = 127.0.0.1:9000
修改权限
chmod 777 /run/php/php7.2-fpm.sock
修改nginx的配置文件(根据网站配置进行更改相应配置):
vim /etc/nginx/sites-available/default (也可以自己根据nignx配置更改,这个地方是默认的配置地方)
server {
listen 80;
server_name test.com;
access_log /var/log/nginx/test.com-access.log;
error_log /var/log/nginx/test.com-error.log;
root /var/www/html/test;
location / {
index index.php index.html index.htm index.nginx-debian.html;
}
location ~ \.php$ {
root /var/www/html/test;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
fastcgi_pass 127.0.0.1:9000;#nginx fastcgi进程监听的IP地址和端口 #fastcgi_pass unix:/run/php/php7.2-fpm.sock;
启动php7.2-fpm
service php7.2-fpm start , service php7.2-fpm restart
netstat -lnt | grep 9000
php文件提示:解决lnmp环境浏览器访问.php文件页面空白
原因是nginx无法正确的将 *.php 文件的地址传递给php-fpm去解析, 相当于php-fpm接受到了请求,但这请求却指向一个不存在的文件,于是返回空结果
解决
1.修改fastcgi_params
vim /etc/nginx/fastcgi_params
2.添加以下参数:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name;
3.测试是否能正常打开
五、环境配置完毕,自行迁移网站服务器项目及数据库
在本地配置一个test的ip映射,访问网站域名测试