如何迁移WordPress网站


最近老VPS过期了,要把博客迁移到新的地址上,这里对迁移过程做一个备忘。

博客使用的是nginx+php+mysql的方案,原来在centos上,现在迁移到了ubuntu上。

迁移博客主要就是数据库和模板,这些都有了内容也就过来了。

在新的VPS上装好nginx,php以及mysql,如果不想敲命令备份数据库,还可以装一个phpmyadmin,我这里觉得敲命令更方便就没用phpmyadmin。

准备环境

安装测试nginx

sudo apt-get install nginx安装

nginx装好后,在浏览器中输入VPS的IP地址可以看到ngnix的测试页面,默认安装后的测试页面在var/www/html目录下,如果不需要可以删除这些文件。

安装测试php

sudo apt-get install php php-fpm

在var/www/html目录下随便放一个php文件,例如test.php,然后在浏览器中用ip+test.php的方式去访问,如果访问成功,说明php配置也功能。如果php文件没有执行而是被下载了下来,这是因为ngnix还没有为php文件设置规则。

在ubuntu中,nginx的配置在etc/nginx中,从nginx.conf开始,可以看到里面还include了一些其它的配置,默认页面的配置在site-enabled/default中。打开这个default可以看到里面关于php的内容被注释了,根据其中的说明将php-fpm配置上就行了。注意php-fpm的路径和版本号,不同的版本路径和版本号稍有不同。

配置完成后用命令service nginx start重启nginx,如果配置文件中有错误,可以通过systemctl status ngnix查看错误原因。

配置成功后再次访问test.php,就能够看到test.php的执行结果了。

安装测试mysql

sudo apt-get install mysql

安装成功后先用 mysql_secure_installation 设置mysql的root用户的密码以及其它一些安全相关选项,记住设置的用户密码。

备份数据

备份数据库

在原来的VPS上执行mysqldump -hlocalhost -uroot -p<password> wordpress >bak.sql,将wordpress数据库中的数据导出

备份网站

在根据nginx配置中的设置root路径,将网站数据打包。gzip -r <your www root>

还原数据

还原数据库,登录进新VPS中,进入mysql,创建一个名为wordpress的数据库,然后通过source 命令导入之前备份的bak.sql

还原网站,将打包的网站数据在新VPS上解压缩,然后在ngnix中配置好主机名以及root路径。也可以将原来vps上的主机相关配置文件直接复制过来,注意ngnix版本差异。

测试新站

测试新站点时可以先修改PC上的hosts文件,将域名指定到新VPS的IP上,测试通过后,再修改dns的指向。