Wordpress 迁移指南

一、背景

出于成本或其它背景下,网站迁移是常见需求;

二、环境

web 框架:LAMP
OS:Ubuntu 24.04
Web Server: Apache/2.4.58
wordpress: 6.8.1

三、迁移工具

wordpress 插件:"All-in-One WP Migration and Backup"

四、迁移过程

4.1、安装插件

登录wordpress 管理后台:https://www.example.com/wp-admin(具体咨询网站管理员)

在控制台左侧菜单栏点击插件-添加插件-搜索并添加"All-in-One WP Migration and Backup"插件,然后启动插件

4.2、备份导出

插件启用后,左侧菜单栏中将多出一个"All-in-One WP Migration" 选项,点击选择"导出"

点击导出后,在页面选择导出为"File/文件"

此时会执行导出,会花费一些时间,导出完成后将提示将导出文件下载到本地,下载保存。

4.3、新节点搭建Wordpress

4.3.1 准备工作

4.3.1.1 安装Apache:
apt install apache2 -y
systemctl enable apache2
systemctl start apache2
systemctl status apache2
4.3.1.2 安装Mysql
apt install mysql-server -y
systemctl enable mysql
systemctl start mysql
systemctl status mysql
4.3.1.3 安装PHP
apt install php libapache2-mod-php php-mysql php-cli php-curl php-mbstring php-xml php-zip unzip -y
4.3.1.4 Apache 加载Php
systemctl restart apache2
4.3.1.5 建立wordpress数据库
# 根据提示完成Mysql初始化操作
mysql_secure_installation  
# 为mysql root用户创建密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';
# 创建wordpress 数据库并设置字符集
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# 创建wordpress 数据库用户并授权
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;

4.3.2 部署Wordpress

4.3.2.1 下载Wordpress
cd /var/www/html/
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
rm -f latest.tar.gz
4.3.2.2 配置Wordpress
cd /var/www/html/wordpress
cp wp-config-sample.php wp-config.php
vim wp-config.php

修改文件中如下几处

define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wp_user' );
define( 'DB_PASSWORD', 'your_password' );
define( 'DB_HOST', 'localhost' );

修改文件权限为Apache可访问

chown -R www-data:www-data /var/www/html/wordpress
4.3.2.3 配置Apache虚拟主机

增加Apache 虚拟主机配置
vim /etc/apache2/sites-available/wordpress.conf
添加如下内容

<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html/wordpress
  ServerName www.example.com

  <Directory /var/www/html/wordpress>
      AllowOverride All
      Require all granted
  </Directory>
</VirtualHost>
4.3.2.4 加载虚拟主机配置及必要模块
a2ensite wordpress.conf
systemctl reload apache2
a2enmod rewrite
systemctl restart apache2

4.4、网站数据导入(网站恢复)

访问新wordpress 网站,安装"All-in-One WP Migration and Backup",菜单栏选择"导入"
如果你的网站备份比较大,需要修改默认文件上传大小配置,修改配置文件:
.htaccess 文件修改(/var/www/html/wordpress/.htaccess)
增加如下配置

php_value upload_max_filesize 1024M 
php_value post_max_size 1024M 
php_value memory_limit 1024M 
php_value max_execution_time 300 
php_value max_input_time 300

上面配置需要加在 BEGIN和END行之间
wp-config.php 修改
增加如下配置

@ini_set( 'upload_max_filesize' , '1024M' );
@ini_set( 'post_max_size', '1024M');
@ini_set( 'memory_limit', '1024M' );
@ini_set( 'max_execution_time', '300' );
@ini_set( 'max_input_time', '300' );

上面配置需要加在"require_once ABSPATH . 'wp-settings.php';" 行上方
修改完配置后,重新导入

五、踩坑记录

5.1 修改运行端口

将http端口修改为非80端口后不生效:检查Apache 配置文件
/etc/apache2/port.conf
/etc/apache2/sites-available/wordpress.conf
执行重载命令
a2dissite wordpress.conf
a2ensite wordpress.conf
systemctl reload apache2

5.2 增加SSL配置后部分图片浏览器访问无法展示

5.2.1 因图片加载路径为http协议,浏览器出于安全原因不进行展示,修复方法:

使用URL修复插件"Better Search Replace" 进行修复。
安装"Better Search Replace" 在wordpress 管理后台-工具中找到"Better Search Replace",对无法访问的图片路径进行修复

5.2.2 固定连接导致的无法访问

在wordpress管理后台检查固定链接地址,将http协议转换为https

posted @ 2025-06-24 13:48  Linux小飞象  阅读(293)  评论(0)    收藏  举报