WordPress搬家换服务器教程

WordPress搬家换服务器教程

  • admin admin
  • 2026-09-12
  • 2385
  • 0

WordPress搬家换服务器教程是将原服务器的网站文件、数据库和配置文件完整迁移到新服务器,并修改域名解析使网站恢复访问的操作流程。备份原网站全部文件登录原服务器文件管理器,或使用FTP/SFTP工具连接网站根目录,找到WordPress安装目录,通常包...

¥ 0.00
当前位置:首页 > WordPress建站 > WordPress搬家换服务器教程
详情介绍

WordPress搬家换服务器教程是将原服务器的网站文件、数据库和配置文件完整迁移到新服务器,并修改域名解析使网站恢复访问的操作流程。

备份原网站全部文件

登录原服务器文件管理器,或使用FTP/SFTP工具连接网站根目录,找到WordPress安装目录,通常包含wp-adminwp-contentwp-includes以及wp-config.php等核心文件。

WordPress搬家换服务器教程  第1张

在宝塔面板中,进入网站目录,点击“压缩”,选择tar.gz格式打包整个站点,打包完成后下载压缩包到本地电脑,如果使用命令行,可以执行:

tar-czfwordpress_backup.tar.gz/www/wwwroot/your-site

压缩包下载完成后,建议解压查看文件是否完整,确认wp-content/uploads目录中的图片和附件没有丢失。

导出原网站数据库

进入原服务器的数据库管理工具,例如phpMyAdmin或宝塔数据库管理页面,选择WordPress站点对应的数据库,点击“导出”。

导出方式选择“快速”,格式选择“SQL”,如果数据库较大,建议使用mysqldump命令行导出:

mysqldump-u数据库用户名-p数据库名>wordpress_backup.sql

执行命令后输入数据库密码,就会在当前目录生成wordpress_backup.sql文件,将这个文件下载到本地,并检查文件大小是否正常,避免导出空文件。

创建新服务器网站环境

登录新服务器,安装与原来尽量一致的网站环境,推荐使用LNMP或LAMP,包括Nginx/Apache、PHP 7.4或8.0以上版本、MySQL 5.7或MariaDB 10.3以上版本。

在宝塔面板中新建站点,填写域名,创建FTP和数据库,记录以下信息:

  • 新数据库名

  • 新数据库用户名

  • 新数据库密码

  • 数据库主机地址,通常为localhost

如果使用命令行创建数据库,可执行:

mysql-uroot-p
CREATEDATABASEnew_wordpressCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;
CREATEUSER'new_user'@'localhost'IDENTIFIEDBY'new_password';
GRANTALLPRIVILEGESONnew_wordpress.*TO'new_user'@'localhost';
FLUSHPRIVILEGES;
EXIT;

上传网站文件到新服务器

将第一步备份的wordpress_backup.tar.gz压缩包上传到新服务器网站根目录,可以使用宝塔面板上传功能,或使用scp命令:

scpwordpress_backup.tar.gzroot@新服务器IP:/www/wwwroot/new-site/

上传完成后解压:

cd/www/wwwroot/new-site
tar-xzfwordpress_backup.tar.gz

解压后需要将文件移动到当前站点根目录,确保wp-config.phpwp-content等文件直接位于根目录下,而不是嵌套在子文件夹中。

导入数据库到新服务器

进入新服务器phpMyAdmin,选择刚才创建的新数据库,点击“导入”,选择本地备份的wordpress_backup.sql文件,执行导入。

命令行导入方式:

mysql-u新数据库用户名-p新数据库名<wordpress_backup.sql

导入完成后,可以检查数据库中的wp_options表,确认siteurlhome两个选项的值与当前域名一致,如果域名没有变化,这两个值可以暂时保留。

修改wp-config.php连接信息

打开新服务器网站根目录下的wp-config.php文件,找到数据库配置部分,修改为:

define('DB_NAME','new_wordpress');
define('DB_USER','new_user');
define('DB_PASSWORD','new_password');
define('DB_HOST','localhost');

同时检查$table_prefix变量是否与原数据库表前缀一致,默认是wp_,如果原站点修改过表前缀,需要保持一致,否则会出现“未找到数据表”的错误。

保存文件后,确认文件权限为644,避免因权限过高导致安全风险。

更新网站URL与替换旧域名

如果搬家后域名发生变化,需要将数据库中的所有旧域名替换为新域名,登录phpMyAdmin,执行以下SQL语句:

UPDATEwp_optionsSEToption_value='https://新域名'WHEREoption_name='siteurl';
UPDATEwp_optionsSEToption_value='https://新域名'WHEREoption_name='home';
UPDATEwp_postsSETguid=REPLACE(guid,'http://旧域名','https://新域名');
UPDATEwp_postsSETpost_content=REPLACE(post_content,'http://旧域名','https://新域名');

如果使用了WP-CLI,可以执行更安全的搜索替换:

wpsearch-replace'http://旧域名''https://新域名'--all-tables--skip-columns=guid

注意不要直接替换guid字段中的URL,除非确有必要,否则可能导致RSS订阅异常。

设置网站文件权限

新服务器上的文件归属和权限需要正确设置,否则可能出现无法上传图片、无法更新插件的问题。

在网站根目录执行:

find.-typed-execchmod755{}\;
find.-typef-execchmod644{}\;
chown-Rwww:www/www/wwwroot/new-site

其中www是Nginx或Apache的运行用户,不同服务器可能不同,宝塔面板通常使用www,如果有写入需求的目录,例如wp-content/uploadswp-content/cache,可以额外设置为775。

配置伪静态规则

WordPress固定链接功能需要服务器启用伪静态,如果新服务器使用Nginx,需要在站点配置文件中添加:

location/{
try_files$uri$uri//index.php?$args;
}

如果使用Apache,确保网站根目录存在.htaccess文件,并包含以下规则:

<IfModulemod_rewrite.c>
RewriteEngineOn
RewriteBase/
RewriteRule^index\.php$-[L]
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule./index.php[L]
</IfModule>

配置完成后重启Nginx或Apache服务使规则生效。

部署SSL证书并强制HTTPS

如果原站点启用了HTTPS,新服务器也需要配置SSL证书,在宝塔面板中申请或上传证书,开启“强制HTTPS”选项。

命令行部署证书后,在wp-config.php中可添加:

define('FORCE_SSL_ADMIN',true);

同时检查数据库中是否还有http://的链接残留,使用搜索替换工具将http://替换为https://,避免出现混合内容警告。

十一、修改域名解析

登录域名DNS管理后台,将域名的A记录指向新服务器IP地址,如果使用CDN或云解析,需要同步修改回源地址。

修改后等待解析生效,可以使用以下命令检查:

ping你的域名

确认返回的IP为新服务器地址,DNS解析全球生效通常需要几分钟到几小时不等,期间可以修改本地hosts文件提前测试。

十二、测试网站完整功能

解析生效后,访问网站首页、内页、分类页、文章页,检查是否正常显示,登录WordPress后台,测试以下功能:

  • 发布新文章

  • 上传媒体文件

  • 安装或更新插件

  • 更换主题

  • 提交评论

  • 发送测试邮件

同时检查网站加载速度、图片显示、CSS和JS加载是否正常,打开浏览器开发者工具,查看控制台是否有报错信息。

十三、排查常见迁移错误

如果出现“建立数据库连接时出错”,检查wp-config.php中的数据库名、用户名、密码是否正确,以及数据库用户是否拥有该数据库的访问权限。

如果出现404页面,重新保存固定链接设置,在后台点击“设置-固定链接”,不做任何修改直接保存即可刷新伪静态规则。

如果上传图片提示“无法创建目录”,检查wp-content/uploads目录权限是否为755或775,并确认目录所有者为正确的运行用户。

如果后台登录后跳转回旧域名,使用SQL替换wp_options表中的siteurlhome,并清理浏览器缓存和Cookie。

如果页面样式丢失,检查wp-content/themeswp-content/plugins目录是否上传完整,以及.htaccess或Nginx伪静态配置是否正确。

0