Products
GG网络技术分享 2025-03-18 16:13 0
Bluehost是WordPress.org官方推荐的虚拟主机品牌,目前已为200万左右的WordPress网站提供虚拟主机服务。在最近的一次统计中,Bluehost团队发现大约80%的WordPress网站使用的是旧版本的WP。这带来了巨大的网络安全隐患,这也是Bluehost虚拟主机运营的WordPress网站被黑客攻击的主要原因之一。这些被客攻的网站站长往往会寻求Bluehost的技术支持,这既增加了公司的运营成本,也会导致公司在社交网站的口碑下降。
Bluehost如何升级200万WordPress网站
为了解决上述问题,Bluehost团队编写了一个可以利用WP命令行界面为所有WP网站实现升级的脚本。有趣的是,就连那些使用完全过时版本的WP的网站也能实现了升级。如果你试过升级WP1.X或WP2.X的话,你会知道这种升级和WP的定期升级是不一样的。
Bluehost团队开发的WP-CIL(WordPress-命令行接口)Perl脚本的工作原理是这样的(作为一种开源工具,其他主机公司可以在Github下载到该脚本):
脚本首先检查所有WordPress网站的状态;
为所有网站创建备份;
通过WP-CLI(WordPress-命令行接口)为所有网站进行升级;
升级结束后,脚本将检查是否有网站出现错误(比如白屏);
出现错误的网站将恢复至到备份的版本。
Bluehost团队花了一个月的时间升级WordPress网站,成功率高达99%,报错率仅为0.006%,报错网站的问题也得到了Bluehost技术人员的及时处理。
升级之后,有关WordPress网站问题的技术支持请求数量下降了18%。这主要是因为新版本的WordPress安全性更高,插件/主题的兼容性更强。
全球25%的网站使用WordPress搭建,所以有许多站长使用运营着WordPress网站。站长必须确保这些WordPress网站使用的是最新版本的WordPress;如果站长有要求,主机服务商必须要懂得如何帮助用户升级WordPress。
WP-CLI是管理 WordPress 的强大工具。还可以使用它来自动备份和迁移WordPress网站。本文并不介绍如何安装Web 服务器环境。整个迁移过程分为旧服务器操作和新服务器操作两个步骤:
旧 WordPress 服务器
在旧服务器上安装 WP-CLI
备份 WordPress 安装和数据库
将备份传输到新服务器
新 WordPress 服务器
在新服务器上创建新数据库
将旧数据库还原到新服务器的数据库
在新服务器上安装 WordPress
旧 WordPress 服务器的准备工作
请注意,在整个过程中,旧站点为:wp-old,实际操作中,请根据自己的站点来替换。
安装 WP-CLI
sudo wget -q https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/bin/wp sudo chmod 755 /usr/bin/wp
进入 WordPress 目录(注意更改实际路径)
cd /var/www/wp-old
导出数据库
mkdir -p ~/backups wp db export ~/backups/wp-old.sql --allow-root --skip-themes --skip-plugins
现在 打包 WordPress 网站文件夹, 包括当前目录中的所有文件和文件夹。
tar -czf ~/backups/wp-old.tar.gz .
请确保在wp-config.php中指定了数据库前缀,因为需要指定它才能正确还原在新服务器上(一般默认情况下是指定了的)
现在,在~/backups目录中,数据库备份(wp-old.sql)和整站文件备份(wp-old.tar.gz)。
通过 SFTP 或 FTP 将这两个文件下载到本地。
准备新 WordPress 服务器
在此操作之前,应该已经准备好了新服务器上 Web 环境,例如Nginx、PHP、MySql等(尽可能与旧服务器的环境保持一致,迁移之后再升级环境)。
将数据库备份 (wp-old.sql) 和 整站文件备份(wp-old.tar.gz) 上传到新服务器。例如放到:~/restore目录。
安装WP-CLI,需要事先安装了PHP才能运行WP-CLI
sudo wget -q https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/bin/wp sudo chmod 755 /usr/bin/wp
创建新数据库
mysql -u root -p
以下内容(数据库名、用户名、密码、MYSQL主机地址等)请与旧站点中的wp-config.php文件中数据库信息部分一致:
CREATE USER wordpressuser@localhost IDENTIFIED BY \'passw0rd\'; CREATE DATABASE wordpress; GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY \'passw0rd\'; FLUSH PRIVILEGES; quit;
创建新的wordpress目录(这部分步骤如果使用宝塔面板或LNMP一键包,可以参照其创建虚拟主机的步骤)
sudo mkdir -p /var/www/wp-new-dev cd /var/www/wp-new-dev
下载WordPress核心文件
wp core download --allow-root
创建wp-config.php文件并指定在上面创建的MySQL数据库信息,数据库名、用户名、密码、MYSQL主机地址等。
如果不使用默认的( wp_ )前缀,则可以通过--prefix指定数据库前缀
wp core config --dbname=wordpress --dbuser=wordpressuser --dbpass=passw0rd --allow-root --dbprefix=wp_
现在执行将旧数据库和WordPress文件夹还原到新站点
以root用户登陆,将数据库备份文件上传到,/root/restore/wp-old.sql
wp db import ~/restore/wp-old.sql --allow-root
如果替换了WordPress站点的域名,可以执行以下 WP-CLI 命令:
wp search-replace old.com new.com --allow-root
如果一切正常,请再次运行该命令。会提示“ 空 ”。
现在将 整站文件备份(wp-old.tar.gz) 解压缩到新站点目录中,同时排除wp-config.php,因为已经使用 WP-CLI 配置好了。注意修改wp-new-dev路径
tar -xf ~/restore/wp-old.tar.gz -C /var/www/wp-new-dev --exclude=wp-config.php
将WordPress文件和目录权限更改为建议的安全权限:
sudo chown -R www:www /var/www/ sudo find /var/www/ -type f -exec chmod 644 {} + sudo find /var/www/ -type d -exec chmod 755 {} +
Demand feedback