因为明月有网站托管和服务器代运维的服务,所以会经常碰到 WordPress 站点需要批量更新 WordPress 到最新版的问题,因为服务器端操作都是在命令行控制台终端完成的,每次碰到 WordPress 更新推送每个站点登录手动点击“更新”很明显是不现实的,更加的不科学!所以,明月一直都很喜欢使用 WP-CLI 来直接在控制台终端操作每个 WordPress 站点的更新维护工作。
在控制台终端命令行里,WP-CLI( WordPress 的命令行界面)简直就是个神器,您可以在不使用 Web 浏览器的情况下更新 WordPress 内核、更新 WordPress 语言包、更新 WordPress 翻译包、更新插件和主题,WordPress 内核的升级和降级、配置多站点安装等等,具体大家可以参考【VPS 运维中利用 WP-CLI 实现命令行操作 WordPress 更新等】一文,里面有不少命令的详细介绍和推荐。
今天明月要给大家分享的是用 WP-CLI 来更新维护 WordPress,在默认命令 wp core update
运行后会自动从 https://downloads.wordpress.org/release/ 下载最新版的 WordPress 内核压缩包后,自动解压安装更新,比较稳妥的是需要再运行 wp core update-db
来更新一下数据库以便完成所有更新并生效。本来这样的操作下来就完成了,可惜现实是明月已经多次碰到卡在下载最新版 WordPress 内核压缩包这个步骤了(可参考【阿里云 ECS 下 WP-CLI 更新故障恢复正常】一文),就目前判断估计是 downloads.wordpress.org 或者 wordpress.org 这个域名被“墙”或者被阿里云给限制流量了。这就尴尬了,每次在命令行更新如同便秘一样超级难受。
好在,可以借助 Linux 系统中的下载文件的工具 wget,它用在命令行下。对于 Linux 用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。wget 支持 HTTP,HTTPS 和 FTP 协议,可以使用 HTTP 代理。所谓的自动下载是指,wget 可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个 wget 下载任务,然后退出系统,wget 将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦。
每次 WordPress 内核有更新的时候其下载链接都是有规律可循的,无非就是修改最后的版本号即可,比如这次 WordPress 5.2.4 更新包下载链接就是 https://downloads.wordpress.org/release/zh_CN/wordpress-5.2.4.zip ,使用 wget 命令下载这个链接的压缩包到指定位置(如:/tmp/目录下)即可,可以让 wget 后台支持断点续传下载,下载完成后需要给服务器上哪个 WordPress 站点更新,只需要进入这个站点根目录,运行下面的命令即可:
wp core update /tmp/wordpress-5.2.4.zip
显示:
等待更新完成即可,保险期间再运行一下 WordPress 数据库更新,如下命令:
wp core update-db
就完成了这个 WordPress 站点的 WordPress 内核更新了。
再有,如果想让站点更新期间对访问者显示 WordPress 默认的“站点维护”模式,也可以通过下面的命令行实现,如:
激活维护模式
wp maintenance-mode activate
返回:
这时候站点访问就是 500 错误了,也就是无法访问。
取消维护模式
wp maintenance-mode deactivate
返回:
这时站点就恢复正常访问了。
这个维护模式比较适合大型 WordPress 站点,特别是在线用户多的站点,比较人性化的同时也是为了保证 WordPress 内核更新的稳定。
今天分享给大家的 WP-CLI 使用经验主要就是为了规避 WordPress 官方更新服务器不稳定(现在看来几乎很少有稳定的时候)造成的无法正常升级 WordPress 内核以及如何批量快速的更新众多 WordPress 站点(这算是个运维技巧了),明月以前没有发现 WP-CLI 竟然支持使用本地更新压缩包(丢人了!),其实 WP-CLI 还可以完成非常多的 WordPress 工作,我就不一一列举了。总之,明月目前的网站托管和服务器代运维工作使用 WP-CLI 的频率是非常高的,至于保持 WordPress 内核为最新版的重要性我就不多说了,毕竟安全第一呀!
历史文章推荐:
- 2018: 再次申请百度熊掌号「原创保护」依然被拒!(40)
- 2017: 值得推荐的轻量级手机端浏览器——Via 浏览器(42)
- 2015: 个人网站移动端美化之“网页应用”(21)
- 本博客公众号
- 扫一扫关注!
-
- 本博客小程序
- 微信内浏览本博客
-
2019-11-28 17:14 9F
我也是受困于更新服务器不稳定,导致站点经常进入维护状态。后来找到WP-CLI,写好脚本,终于畅快起来了!
2019-11-28 21:20 B1
@ IDC严选 这个是WordPress目前最大的问题了!
2019-10-27 13:12 8F
大神专用
2019-10-21 22:16 7F
不愧是运维专家,专业啊
2019-10-22 13:51 B1
@ 高克博客 多谢支持!
2019-10-20 21:18 6F
今天才发现友键已被取消了?
2019-10-21 18:21 B1
@ 两对半 外链检查多次返回404呀!亲!
2019-10-21 20:35 B2
@ 明月登楼 一直都能访问的,可能是有段时间换空间和转https,出现了问题
2019-10-22 13:51 B3
@ 两对半 哦,那好的!
2019-10-20 15:20 5F
每次收到自动更新的邮件搞得我方方的
2019-10-21 18:22 B1
@ 闲鱼 我现在一律服务器端手动更新!
2019-10-18 12:10 4F
平时我的站点自动更新WordPress都是失败,前几天的5.2.4竟然后台自动更新成功了
2019-10-18 12:33 B1
@ boke112联盟 WordPress官方更新服务器太不稳定了!所以我才研究个这法子!
2019-10-17 09:54 3F
很厉害的样子
2019-10-17 11:53 B1
@ 李国全 多谢支持!
2019-10-17 04:17 2F
佩服博主的钻研精神,更佩服你更新的动力,还同时维护几个站点,厉害
2019-10-17 09:03 B1
@ 浮游 多谢支持!
2019-10-16 23:26 1F
还是需要依赖Wp主服务器啊!这个工具我也在用,但是wp主服务器在国内使用就没好过
最终还是走了给wp加代Li的路子
2019-10-17 09:04 B1
@ 自然 wget下载的效能还是非常高的,并且支持智能更换节点下载,只需要下载一次即可,这样只要有了一个内核压缩包就可以给所有WordPress站点更新了!
2019-10-17 09:06 B2
@ 明月登楼 这个倒是挺好用,离线包
2019-10-17 09:09 B3
@ 自然 是的,只需要下载一次就可以以离线包形式更新所有服务器了!