本文讲述如何将基于WordPress创建的网站迁移到其他服务器。
后面假定旧WP站点域名是wp.old.com,站点文件在旧服务器/var/www/wp.old.com目录中;新WP站点域名是wp.new.com,站点文件准备放在新服务器/var/www/wp.new.com目录中,官方WP文件已解压在此目录中,Apache2/Nginx已发布wp.new.com站点。
备份旧服务器
备份数据库
MariaDB/MySQL数据库可以借助phpMyAdmin将WP数据库全部导出为wp_backup.sql文件。
SQLite数据库简单复制数据库文件即可。
备份上传的文件
将/wp-content/uploads目录打包cd /var/www/wp.test.com/wp-content # 切换wp-content为当前目录tar -zcvf uplodas.tar.gz ./uploads/* # 将uplodas目录打包到uploads.tar.gz
备份主题
将/wp-content/themes目录打包cd /var/www/wp.test.com/wp-content # 切换wp-content为当前目录tar -zcvf themes.tar.gz ./themes/* # 将themes目录打包到themes.tar.gz
备份插件
将/wp-content/plugins目录打包cd /var/www/wp.test.com/wp-content # 切换wp-content为当前目录tar -zcvf plugins.tar.gz ./plugins/* # 将plugins目录打包到plugins.tar.gz
将打包文件上传到新服务器
(略)
在新服务器上恢复
恢复主题
将themes.tar.gz释放到/wp-content/themes目录cd /var/www/wp.test.com/wp-content # 切换wp-content为当前目录tar -zxvf themes.tar.gz # 释放themes.tar.gz
恢复插件
将plugins.tar.gz释放到/wp-content/plugins目录cd /var/www/wp.test.com/wp-content # 切换wp-content为当前目录tar -zxvf plugs.tar.gz # 释放plugins.tar.gz
恢复上传的文件
将uploads.tar.gz释放到/wp-content/uploads目录cd /var/www/wp.test.com/wp-content # 切换wp-content为当前目录tar -zxvf uploads.tar.gz # 释放uploads.tar.gz
恢复数据库
MariaDB/MySQL数据库可以借助phpMyAdmin将wp_backup.sql文件导入。
SQLite数据库简单复制数据库文件即可。
设置新服务器MariaDB/MySQL数据库访问凭据
如新服务器数据库是MariaDB/MySQL,还需要在wp-config.php文件中保存数据库访问凭据。cd /var/www/wp.new.com # 切换wp.new.com为当前目录mv wp-config{-sample,}.php # 从wp-config-sample.php创建wp-config.phpvi wp-config.php # 编辑wp-config.php
参考以下填写数据库访问凭据:define('DB_NAME', 'new_db'); # 新数据库名称define('DB_USER', 'new_db_username'); # 新数据库账号define('DB_PASSWORD', 'new_db_password'); # 新数据库密码define('DB_HOST', 'localhost'); # 数据库服务器地址,通常都是localhost
修改域名
在新数据库中执行以下SQL查询,将WP站点首页地址+导航菜单中的首页地址、Posts(文章)中的图片链接地址改成新域名:UPDATE wp_options SET option_value = replace (option_value, 'https://wp.old.com', 'https://wp.new.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = replace (post_content, 'https://wp.old.com', 'https://wp.new.com');
UPDATE wp_posts SET guid = replace (guid, 'https://wp.old.com', 'https://wp.new.com');
Leave a Reply