WordPress网站迁移指南:从本地环境到生产服务器的完整步骤

WordPress网站迁移指南:从本地环境到生产服务器的完整步骤-技研社
WordPress网站迁移指南:从本地环境到生产服务器的完整步骤
此内容为免费资源,请登录后查看
0
免费资源

很多人在本地把 WordPress 网站调试得漂漂亮亮,结果一上传到服务器就傻眼:要么提示"建立数据库连接时出错",要么打开首页又跳回 localhost 地址。其实迁移本身并不复杂,本质上就是三件事——搬走数据库、搬走文件、改掉指向旧环境的配置。只要按顺序把每一步做扎实,这套流程以后每次迁移都能直接复用。

迁移前:备份和信息确认

迁移的第一原则是先备份、再动手。把本地整站文件完整复制一份,数据库单独导出存档,这样即使中途出错也能随时回退,不至于两头都丢。

除了备份,还要提前向主机商确认好几项信息:新服务器的数据库名、数据库用户名和密码、数据库主机地址,以及 FTP 或文件管理面板的登录方式。域名解析也建议提前指向新服务器 IP,给 DNS 生效留出时间,避免网站搬好了域名却还指向旧地址。

导出数据库与打包文件

打开本地环境自带的数据库管理工具(一般是 phpMyAdmin),选中网站对应的数据库,使用导出功能,格式选择 SQL,保持默认设置导出即可。得到的 .sql 文件里包含全部文章、页面、评论和站点设置,是整个网站最核心的资产。

文件方面,把整个 WordPress 目录打包成一个压缩包。其中 wp-content 目录最重要——主题、插件和上传的图片都在里面;wp-config.php 保存着当前环境的配置,稍后需要单独修改。如果本地站点积累了不少缓存或备份文件,打包前可以先清理一遍,能明显减小压缩包体积,上传也更快。

上传文件与导入数据库

通过 FTP 工具或主机面板的文件管理器,把压缩包上传到服务器的网站根目录(常见为 public_html 或 wwwroot,具体以主机商说明为准),然后在服务器端解压。如果面板不支持在线解压,就只能在本地解压后逐个上传,耗时会明显变长,所以优先找支持解压的主机面板操作。

接着在主机面板创建一个新数据库,记下库名、用户名和密码。打开服务器上的数据库管理工具,进入这个空数据库,用导入功能把刚才导出的 .sql 文件导入。如果文件较大导致导入超时,可以联系主机商协助处理,不要反复重复导入,以免产生重复数据。

修改 wp-config.php 连接信息

这是迁移中最容易出错的一步。打开服务器上的 wp-config.php,找到数据库配置段,把四处信息改成新服务器的值:

define('DB_NAME', '新数据库名');
define('DB_USER', '新数据库用户名');
define('DB_PASSWORD', '新数据库密码');
define('DB_HOST', 'localhost');

有两点需要特别留意。一是 DB_HOST 并不总是 localhost,部分主机会给出独立的数据库地址或带端口的写法,一切以主机商提供的信息为准。二是检查文件中的 $table_prefix(表前缀)是否和导入的数据库一致——如果本地建站时修改过前缀,这里必须保持相同,否则程序会认为数据库是空的,直接进入安装向导,让人误以为数据全丢了。

在代码编辑器中修改网站配置文件的工作场景插画

替换数据库中的旧域名

文件和数据库都就位后,网站很可能仍然跳回本地地址,或者页面能打开但图片全部加载失败。原因是 WordPress 把站点地址写死在数据库里,文章和设置中的链接也都是绝对地址,必须批量替换成新域名。

先改站点地址,在数据库管理工具的 SQL 窗口执行:

UPDATE wp_options SET option_value = 'https://你的域名'
WHERE option_name = 'siteurl' OR option_name = 'home';

然后替换文章内容中的旧链接:

UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://localhost/本地路径', 'https://你的域名');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://localhost/本地路径', 'https://你的域名');

执行前记得把示例中的表前缀 wp_ 换成你实际使用的前缀。还有一个坑要注意:部分主题和插件会把设置以序列化格式存进数据库,如果新旧域名长度不同,直接用 REPLACE 可能破坏这些数据,导致主题设置或页面布局丢失。涉及这类数据时,建议使用能正确处理序列化格式的搜索替换工具来操作,而不是直接跑 SQL。

处理 .htaccess 与固定链接

本地环境的 .htaccess 经常带着子目录形式的 RewriteBase,原样搬到服务器会导致内页全部 404。最省事的办法是:先确认能登录后台,进入"设置 → 固定链接",什么都不用改,直接点保存,WordPress 会按当前环境自动重新生成规则。

如果服务器上根本没有生成 .htaccess,可以手动在网站根目录新建一个,写入 WordPress 的默认规则:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

同时确认这个文件对 WordPress 可写,否则以后调整固定链接结构时规则无法自动更新,又会回到内页 404 的老问题。

迁移后的检查与常见问题

别急着宣布完工,按下面的顺序把站点完整过一遍:

  1. 前台首页、文章页、分类页能否正常打开;
  2. 后台能否登录,固定链接保存是否生效;
  3. 文章配图和媒体库文件能否正常显示;
  4. 联系表单、评论提交等交互功能是否正常;
  5. 如果新站启用了 HTTPS,检查浏览器有没有混合内容警告。

几个高频问题的对应关系也值得记住:提示"建立数据库连接时出错",几乎可以确定是 wp-config.php 里的连接信息填错;访问后自动跳回 localhost,是 siteurl 和 home 没改;首页正常但内页全部 404,基本就是 .htaccess 的问题;页面样式错乱、图片不显示,多半是内容里的旧域名没替换干净。

到这里,一套完整的手动迁移流程就走完了。建议把每一步的操作要点保存成自己的清单,下次换服务器时照着执行即可。迁移完成后,本地的旧版本别急着删,观察线上站点稳定运行几天再清理,给自己留一条退路。如果遇到环境差异带来的细节问题,也可以查阅 WordPress 官方文档 中的相关说明。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 共39条

请登录后发表评论