ubuntu迁移web网站服务器到另一台服务器

  • 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映射,访问网站域名测试

 

猜你喜欢

转载自blog.csdn.net/qq_19253847/article/details/129859457