操作背景
最近从国内访问 wordpress.org 会提示 “429 Too Many Requests”, 而且,由于 WordPress 程序和插件更新时默认都是从 wordpress.org 下载文件,所以更新 WordPress 程序和插件时也是提示 “Too Many Requests”, 无法完成更新。但是,为了站点的安全,必须保持程序版本是较新的,因此只能手动更新。
以下是具体操作过程。
准备工作
在 WordPress 中文官网下载所需版本的 WordPress 程序和 WordPress 插件:
https://cn.wordpress.org
通过 FTP 或者 Wget 将上述文件上传到服务器。
手动更新 WordPress 程序
解压 wordpress 程序压缩包。
首先,删除该压缩包中的 wp-content
文件夹及文件,因为该文件夹中保存的是我们上传的媒体文件,安装的插件等,是 WordPress 程序本身不包含的数据,不能被覆盖:
rm -rf wp-content/
将当前站点目录中的 wp-content
文件夹及文件复制一份做备份:
cp -p -R wp-content/ /var/www/html/bak/
开始覆盖:
注:使用下面的命令执行覆盖操作过程中可能会产生大量询问是否确认覆盖的提示信息,解决方案在这里。
cp -R -f wordpress/* /var/www/html/wordpress/
覆盖操作完成后,再次登陆 WordPress 会提示“需要升级数据库”:
点击“升级WordPress数据库”按钮即可完成数据库的升级:
点击“继续”按钮即可回到 WordPress 管理后台,至此,对 WordPress 程序的手动覆盖升级已完成。
手动更新 WordPress 插件
WordPress 的插件都安装在 wp-content/plugins
目录下。
首先,在 WordPress 的管理后台中停用需要更新的插件,并删除该插件。
之后,将下载的插件程序解压并移动到 wp-content/plugins
目录下。最后,在管理后台中启用该插件即可。
也可以将从 WordPress.org 下载下来的插件压缩包 (一般是 .zip
格式) 放到 WordPress 的插件目录 wp-content/plugins
下,然后使用如下命令解压即可自动覆盖同路径下的同名文件,达到更新插件的目的:
unzip -o plugins.zip
上述命令中 -o
参数的作用是 “overwrite files WITHOUT prompting”, 即“覆盖文件而不提醒”。
备注
手动更新操作具有一定的风险性,更新之前请务必确保已完成数据库备份,网站文件备份,硬盘镜像备份等保障措施,确保一旦有关操作执行效果未达到预期可以在较短时间内回滚数据,恢复到执行更新操作之前的状态。
EOF