如何将WordPress网站文件结构复制到新主机及迁移问题求助
嘿,我完全懂你现在的困扰——没有cPanel这类可视化工具,手动迁移WordPress确实有点让人头大,但其实用你手里的FTP和SSH权限完全能搞定,咱们一步步拆解来:
一、先解决你卡壳的FTP连接问题
你大概率是遗漏了确认FTP登录的核心信息,这是新手迁移时最容易踩的坑:
- 首先找当前主机提供商要这些关键信息:
- FTP服务器地址:通常是你的域名
www.website.org,或者主机给的专属FTP地址(比如ftp.website.org) - FTP用户名:一般和你当前主机的登录账号一致,或者主机单独分配的FTP专用账号
- FTP密码:对应用户名的登录密码
- 端口号:默认是21(普通FTP),如果用加密的SFTP就是22
- FTP服务器地址:通常是你的域名
- 下载一个FTP客户端(比如FileZilla、WinSCP),输入上面的信息登录,成功后就能看到网站的文件结构,找到
wordpress文件夹——这就是你要完整复制的全部内容。 - 注意:一定要开启FTP客户端的「显示隐藏文件」设置,不然会漏掉
.htaccess这类关键配置文件,复制时直接选中整个wordpress文件夹下载到本地就行。
二、无cPanel的完整WordPress迁移流程
1. 备份当前网站文件(FTP/SSH二选一)
- 用FTP:按上面的方法把整个
wordpress文件夹下载到本地,稳但速度慢一点。 - 用SSH(效率更高):如果能SSH连接当前主机,直接打包文件:
然后用tar -czf wordpress_backup.tar.gz /path/to/your/wordpressscp直接把压缩包传到新服务器,省得本地中转:scp wordpress_backup.tar.gz your_new_server_user@new_server_ip:/path/to/new/website/folder
2. 备份WordPress数据库(不用cPanel也能搞定)
数据库是WordPress的核心,没有cPanel的话,两种方法:
- SSH命令行法:
- 先从当前
wordpress/wp-config.php里找到数据库信息:DB_NAME(库名)、DB_USER(用户名)、DB_PASSWORD(密码)、DB_HOST(一般是localhost) - SSH连接当前主机,执行备份命令:
输入数据库密码后,就会生成备份文件,同样可以用FTP下载或mysqldump -u DB_USER -p DB_NAME > wordpress_db_backup.sqlscp传到新服务器。
- 先从当前
- 插件法:如果连SSH都没有,安装WordPress备份插件(比如UpdraftPlus),直接备份数据库和文件,然后把备份包下载到本地,简单省心。
3. 把文件和数据库转移到新服务器
- 文件部署:
- FTP方式:登录新服务器的FTP,找到新网站的根目录(比如
/var/www/html,具体看主机要求),把本地的wordpress文件夹上传进去。 - SSH方式:解压之前传的压缩包:
tar -xzf wordpress_backup.tar.gz -C /path/to/new/website/folder
- FTP方式:登录新服务器的FTP,找到新网站的根目录(比如
- 数据库部署:
- 先在新服务器上创建新数据库(用MySQL命令行):
mysql -u root -p # 输入root密码后执行: CREATE DATABASE new_wordpress_db; CREATE USER 'new_db_user'@'localhost' IDENTIFIED BY 'your_new_db_password'; GRANT ALL PRIVILEGES ON new_wordpress_db.* TO 'new_db_user'@'localhost'; FLUSH PRIVILEGES; EXIT; - 导入备份的数据库:
mysql -u new_db_user -p new_wordpress_db < wordpress_db_backup.sql
- 先在新服务器上创建新数据库(用MySQL命令行):
4. 配置新服务器的WordPress
- 修改
wp-config.php:把新服务器的数据库信息替换进去:define( 'DB_NAME', 'new_wordpress_db' ); define( 'DB_USER', 'new_db_user' ); define( 'DB_PASSWORD', 'your_new_db_password' ); define( 'DB_HOST', 'localhost' ); - 更新网站域名:因为要换新地址,两种方法:
- 数据库修改:登录新服务器的MySQL,执行:
注意:UPDATE wp_options SET option_value = 'https://your-new-domain.com' WHERE option_name = 'siteurl'; UPDATE wp_options SET option_value = 'https://your-new-domain.com' WHERE option_name = 'home';wp_是你的数据库表前缀,要是之前改过就换成对应的前缀。 - 临时配置:在
wp-config.php里加两行,登录后台后再去「设置-常规」里修改正式地址:define( 'WP_HOME', 'https://your-new-domain.com' ); define( 'WP_SITEURL', 'https://your-new-domain.com' );
- 数据库修改:登录新服务器的MySQL,执行:
5. 收尾检查
- 确认新服务器的PHP版本、必要扩展(比如mysqli、GD库)符合WordPress的最低要求;
- 检查
.htaccess(Apache)或Nginx的server配置,确保URL重写规则正确; - 访问新域名,测试页面加载、后台登录、图片链接是否正常,有问题的话可以清一下浏览器缓存或WordPress缓存。
内容的提问来源于stack exchange,提问作者kaylani2




