wordpress无缝迁移/更换服务器/VPS教程(CentOS7)

admin 2020-6-16 489

我们的目标是,不更换域名的情况下,无缝迁移wordpress网站,或者叫尽快完成服务器切换,减少down机时间。

本文原创发布于atrandys.com,任何转发不注明原文链接者都是小偷,转发/借鉴带原文链接是最基本的道德,本文固定链接:https://www.atrandys.com/2020/2599.html

wordpress迁移服务器步骤总结

  1. 在新服务器上搭建wordpress运行环境,主要包括PHP/MYSQL/NGINX等软件的安装。
  2. DNS服务商尽量使用cloudflare等解析生效快的服务商,这样基本上数秒内就能将域名解析到新的IP地址
  3. 备份mysql数据库,scp传输到服务器
  4. scp将wordpress的文件全部传输到新的服务器
  5. scp将nginx证书及配置传输到新的服务器
  6. 恢复mysql数据库
  7. 重启nginx,网站正常访问

wordpress迁移服务器教程

使用脚本搭建wordpress环境

这个脚本是专门改了一下,用来手动迁移环境时,自动安装nginx、mysql、php的。

curl -O https://raw.githubusercontent.com/atrandys/wordpress/master/wp_manual.sh && bash wp_manual.sh

安装完成之后会显示数据库密码,一定要保存下来,后面步骤要用到。

备份mysql数据库并传输到新服务器中并恢复数据库

使用以下命令将数据库备份,注意密码是旧服务器上的数据库密码,如果忘记了可以在/usr/share/nginx/html/wp-config.php文件中查看(本站脚本配置的nginx web目录是/usr/share/nginx/html/,如果你的不是,请自己去web目录下找)

mysqldump -uroot -p --all-databases > all.sql

然后传输到新服务器的/usr/share/nginx/目录,命令中-P是ssh的端口,1.1.1.1是新服务器的IP地址,自行替换一下

scp -P 22 ./all.sql [email protected]:/usr/share/nginx/

然后输入新服务器的root密码,完成传输,然后进入新服务器,登录mysql

mysql -uroot -p

输入新服务器的数据库root用户的密码,登录进mysql,然后执行恢复数据库命令

source /usr/share/nginx/all.sql

等待执行完成即可,然后重启mysql

systemctl restart mysql

将wordpress文件全部传输新服务器中

本站一键脚本设置的nginx的web目录是/usr/share/nginx/html/,我们将html目录直接打包传输到新服务器(如果你的nginx web目录是其他路径,请自行替换)

cd /usr/share/nginx/

将html目录及下级文件全部打包

tar -zcvf ./html/

将打包好的文件传输到新服务器的/usr/share/nginx/目录下,命令中-P是ssh的端口,1.1.1.1是新服务器的IP地址,自行替换一下

scp -P 22 ./html.tar.gz [email protected]:/usr/share/nginx/

以上命令需要你输入新服务器的root密码,然后等待完成传输即可。传输完成之后,进入新服务器的/usr/share/nginx/目录,然后解压

cd /usr/share/nginx/ && rm -rf ./html/ && tar -zxvf html.tar.gz

将nginx证书及配置传输到新服务器中

将证书上传到新服务器中,需要输入新服务器的密码

scp -P 22 /etc/nginx/ssl/* [email protected]:/etc/nginx/ssl/*

将nginx配置文件上传到新服务器中,需要输入新服务器的密码

scp -P 22 /etc/nginx/conf.d/* [email protected]:/etc/nginx/conf.d/*

解析域名到新的服务器IP地址

去你的域名服务商或者DNS服务商,修改域名指向新服务器的IP地址,注意生效时间不同服务商可能不同,从几秒到几个小时不等。

个人使用cloudflare的dns解析体验,更换IP后解析生效非常快。

重启nginx,网站恢复访问

systemctl restart nginx

手动安装acme.sh,申请证书并启动自动续签

重新申请一下证书,注意www.your_domain.com是你的域名,如果是多域名,例如your_domian.com和www.your_domian.com,那么你的命令中多加一个-d your_domian.com

~/.acme.sh/acme.sh --issue --force -d www.your_domain.com --nginx

重新安装新证书,证书会自动续签,注意www.your_domain.com是你的域名

~/.acme.sh/acme.sh --installcert -d www.your_domain.com \--key-file /etc/nginx/ssl/www.your_domain.com.key \--fullchain-file /etc/nginx/ssl/fullchain.cer \--reloadcmd "systemctl restart nginx"


最新回复 (0)
返回