1. 首页
  2. WordPress建站系列

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

我们经常会遇到wordpress网站更换服务器或wordpress网站迁移服务器/VPS的情况,比如你的小站可能流量起来了,原来的配置不够用了,又或者之前的服务器线路不好,又买到了线路好的服务器,又或者从服务器要从美国迁到香港,等等,这些时候我们的目标是,不更换域名的情况下,无缝迁移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 mysqld

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

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

cd /usr/share/nginx/

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

tar -zcvf html.tar.gz ./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]1.1.1:/etc/nginx/ssl/

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

scp -P 22 /etc/nginx/conf.d/* [email protected]1.1.1:/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"

原创文章,作者:atrandys,如若转载,请注明出处:https://www.atrandys.xyz/2020/2599.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论列表(7条)

  • 小伙 2020年5月19日 上午3:14

    这是 要散伙了么

  • jiojioy 2020年5月18日 下午5:12

    游戏加速系列怎么没了?没有提前备份,。

    • atrandys 回复 jiojioy 2020年5月18日 下午6:38

      内容只做VPS推荐与网站建设哦

  • 节达 2020年4月27日 下午5:35

    刚装了一个WordPre$$,装了插件,和预设网站,什么也没干内存升高的厉害,请问下A大这个是什么情况?搭建wp是不是1g内存不够用啊。

    • atrandys 回复 节达 2020年4月27日 下午10:00

      够用,你得看看什么进程占用内存高,这条命令看看前10名内存占用
      ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

  • sovanna 2020年4月26日 上午1:34

    沙发,等教程

    • atrandys 回复 sovanna 2020年4月26日 下午7:13

      写完啦