无需停机即可升级一键式WordPress

介绍

本教程说明了怎样将WordPress网站升级到新的一键式WordPress应用程序实例。 该网站在此过程中100%可用。 在向用户公开之前,您将有足够的时间测试新网站。 如果您在站点可以离线时有一个维护窗口,则可以使用本指南的简化版。

一年几次,Vultr都会通过软件更新和安全补丁来刷新WordPress一键式应用程序。 这些更新适用于新部署的实例,但不适用于先前部署的服务器。 为确保您的服务器已完全修补和安全,请定期将已部署的服务器迁移到新的一键式WordPress应用程序。 迁移也是部署具有更多内存,速度或带宽的新服务器的可靠方法。

此过程也适用于任何地方托管的WordPress网站。 您可以放心使用Vultr,并为用户提供100%的正常运行时间。 选择我们的任何服务器平台以提高您的网站速度:云计算,高频计算,裸机或专用云。

1.备份源服务器

在执行任何故障排除之前,至关重要的一点是要有可靠的备份作为起点。 请不要跳过此步骤。 如果要将Vultr VPS升级到新的一键式WordPress, Vultr快照 如果出现问题,可让您恢复准确的时间点备份。 有关更多详细信息,请参见我们的快照快速入门指南。 如果要将服务器从另一个位置迁移到Vultr,请确保在继续之前已备份源服务器。 如果可能,请进行完整的服务器映像备份,或使用WordPress的备份插件,例如Updraft或Jetpack。

2.导出内容

多合一WP迁移 是用于重新定位WordPress网站的流行插件。 对于大多数网站而言,免费版本就足够了,并且提供了具有高级功能的多个专业升级版。

使用管理员帐户登录到源WordPress仪表板。 导航 外挂程式 > 添新

在页面中输入All-in-one WP Migration 搜索插件… 页面右上角的字段。 在列表中找到此插件。

请点击 现在安装

安装完成后,单击 启用。 新菜单 多合一WP迁移,将显示在WordPress仪表板中。 导航 多合一WP迁移 -> 出口

请点击 输出到 > 文件 导出整个网站,包括主题和插件。

导出文件

备份完成后,出现下载提示。 点击绿色 下载 按钮。

下载

将导出文件保存到您的计算机。

3.部署目标服务器

在Vultr上部署一键式WordPress服务器。 记下新目标服务器的IP地址。

4.更改本地主机文件

使用以下特定于操作系统的说明来编辑本地计算机的 主机 文件。 通过将此行添加到底部,将网站域名映射到新目标服务器的IP地址。 将值替换为 目标服务器IP地址服务器域名。 此项覆盖DNS 仅用于您的计算机 在升级过程中。 为了确保您的用户100%的正常运行时间,请暂时将公共DNS指向旧IP地址。

192.0.2.123 www.example.com

编辑Windows主机文件

键入WIN + S在搜索框中输入记事本。

右键单击记事本,选择 以管理员身份运行

记事本

请点击 在Windows UAC提示符下。

请点击 文件 > 打开。 打开 C: Windows System32 drivers etc hosts

编辑macOS主机文件

打开终端,然后编辑主机文件。

$ sudo nano /private/etc/hosts

编辑Linux主机文件

打开终端,然后编辑主机文件。

$ sudo nano /etc/hosts

验证主机条目

更改主机文件后,计算机的IP堆栈或Web浏览器可能会缓存源IP地址。 在URL指向正确的IP地址之前,您可能需要关闭浏览器,重置网络或重新启动。 访问服务器的域名时,请验证IP地址是否正确。

5.安装SSL证书

如果使用的是“让我们加密”,请按照以下步骤在目标服务器上手动安装证书。 需要手动模式,因为尚未更新公共DNS。 迁移完成后,您将配置certbot进行自动续订。

如果您使用商业SSL证书,请按照供应商的说明进行操作。

索取证书

SSH作为目标服务器

使用以下命令运行certbot 仅证书– 手册 选项。 用服务器的标准域名替换www.example.com。

# certbot certonly --manual 
     -d www.example.com 
     -m [email protected] 
     --preferred-challenges dns --agree-tos 
     --no-eff-email --manual-public-ip-logging-ok

certbot向导将打印说明,以将TXT记录添加到您域的DNS中。 certbot向导将在此时暂停。 不要 按ENTER键,直到完成以下DNS步骤。 例如:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name
_acme-challenge.www.example.com with the following value:

U5Y4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxN914

Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue

使用网络浏览器导航到您的DNS提供商。

将certbot显示的TXT记录添加到您域的DNS中。

测试TXT记录传播。 测试TXT记录的流行方法包括 dig 和dnschecker.org网站。 更换 example.com 在这些示例中使用您的名字:

与测试 dig,打开另一个终端窗口并查找域记录,替换 example.com 与您的域。 验证返回的值正确。

# dig +short TXT _acme-challenge.www.example.com
"U5Y4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxN914"

使用 dnschecker.org,导航到该网址,替换 example.com 与您的域。 验证返回的值正确。

https://dnschecker.org/#TXT/_acme-challenge.www.example.com

DNS-Check.png

在传播测试中,当您看到正确的TXT记录时,请返回certbot向导并按Enter继续。 如果证书质询成功,certbot将报告新证书文件的位置。

...
Cleaning up challenges

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem

安装Nginx的证书

存档现有的Nginx证书。

# mv /etc/nginx/ssl/server.crt /etc/nginx/ssl/server.crt.old
# mv /etc/nginx/ssl/server.key /etc/nginx/ssl/server.key.old

在Nginx希望找到的地方链接Let’s Encrypt证书。

# ln -s /etc/letsencrypt/live/example.com/fullchain.pem /etc/nginx/ssl/server.crt
# ln -s /etc/letsencrypt/live/example.com/privkey.pem /etc/nginx/ssl/server.key

重新启动Nginx。

# service nginx restart

使用HTTPS(https://www.example.com)通过域名导航到您的网站。 验证证书正确。 因为您已经更新了主机文件并手动安装了SSL证书,所以新的目标网站应该正确加载。

6.导入内容

在中找到用户名和密码 第1步 服务器信息屏幕上的“应用程序信息” my.vultr.com。 使用HTTPS按域名导航到新目标服务器的管理区域。 (https://www.example.com/wp-admin)

输入步骤1中的用户名和密码 登入 弹出。

ServerLogin.png

注意:此登录名在输入WordPress管理员帐户信息之前会以额外的安全性保护管理员区域。 如果要删除此附加安全层,请遵循**“删除wp-admin安全性”中的说明 一键式WordPress文档的“部分”。

运行WordPress安装向导。 选择您的语言,然后单击 继续

SelectLanguage.png

输入您的网站标题,用户名和电子邮件地址。 该信息不是关键信息,当插件导入旧服务器的数据时,它将被覆盖。 记下密码,因为您需要在首次登录时使用它。

WordPressInstallStep2.png

请点击 安装WordPress。 等待WordPress完成安装,然后登录到WordPress仪表板。

导航 外挂程式 > 添新。 在页面中输入All-in-one WP Migration 搜索插件… 页面右上角的字段。 找到源服务器上使用的相同插件。 请点击 现在安装。 安装完成后,单击 启用。 新菜单 多合一WP迁移,将显示在WordPress仪表板中。 导航 多合一WP迁移 -> 进口

请点击 进口于 > 文件

进口

选择您的导出文件。

文件上传完成后,单击 继续 在进口确认单上。

继续

请点击 保存永久链接结构 关于成功的确认。

成功

将打开一个新的浏览器选项卡。 数据库导入已完成,因此您必须使用登录名和密码登录。 资源 WordPress服务器。

查看永久链接结构。 验证永久链接结构与源站点匹配,如果需要,请进行更改并保存。 返回到导入选项卡。 点击 按钮。 注销目标网站。

7.测试目标服务器

浏览目标服务器,并从仍然具有主机文件条目的计算机中查看时,验证内容正确。 您可以根据需要花费尽可能多的时间。 在下一步中更新DNS之前,用户将看不到该新服务器。 其他需要查看站点的测试人员应按照上面第4步中的相同说明来更新其主机文件。

8.更新DNS

将源IP地址替换为DNS中服务器域名的目标IP地址。 DNS更改最多可能需要48个小时才能在网络上传播。

9.更新主机文件

现在,测试站点的任何人都应删除在步骤4中添加到hosts文件中的行。您可能需要重置IP堆栈或重新引导,然后计算机才能从DNS检索正确的IP地址。

10.关闭源服务器

随着DNS更新,旧服务器上的流量应减少。 相应地,新服务器上的活动将开始。 在停用旧服务器之前,应监视两台服务器几天。

11.自动更新SSL

如果您使用的是“让我们加密”证书,请再次运行certbot,而无需 – 手册仅证书 选项。 请按照我们的WordPress一键式文档中的说明自动更新SSL。 Certbot将为您对systemd,crontab和nginx进行必要的更改。

概要

无论您是从其他主机迁移还是只是升级WordPress,迁移到新的一键式应用程序都是最佳过程。 您将获得一个安全的WordPress安装,我们已经使用最新的PHP,MariaDB,Nginx和Ubuntu更新对它们进行了测试。

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com

相关阅读:

Posted in: LinuxTags: