自建下载服务器解决升级更新 WordPress 速度慢的问题

二叶草 2020年2月16日19:21:53问题及解决评论阅读模式

当你的 WordPress 构建在国内服务器上,那么你毫无疑问碰到过 WordPress 升级不成功的难题。我还在阿里云服务器上评测免费下载官方网安装文件速率但是每秒钟十几 k。那麼除开官方网繁杂的“三步”更新法(手动式覆盖文件)外还有其他更高效的更新方法吗?

方法一:WP-CLI

WP-CLI 是官方推出的一款 WordPress 命令行工具。无需浏览器,你就可以实现快速安装、更新主题、配置站点、搜索替换等几乎所有可以想到的功能。

如何安装 WP-CLI 这里不做说明,请移步官方安装指南。

假如你已经安装好了 WP-CLI,那么首先通过 wp core check-update 命令获取新版的安装包地址,然后通过自己的途径下载并放到服务器上。

$ wp core check-update
+---------+-------------+-----------------------------------------------------------------+
| version | update_type | package_url                                                     |
+---------+-------------+-----------------------------------------------------------------+
| 4.9     | major       | https://downloads.wordpress.org/release/zh_CN/wordpress-4.9.zip |
+---------+-------------+-----------------------------------------------------------------+

最后执行 wp core update path/to/zip/file 命令升级 WordPress,输出的内容和你通过网页升级类似。

$ wp core update path/to/zip/file
Starting update...
正在解压缩升级文件...
...
Cleaning up files...
No files found that need cleaned up.
Success: WordPress updated successfully.

安装过程中,可能会自动下载语言包,不过语言包很小,没什么影响。这样你就成功升级了 WordPress~

方法二:使用代理服务器

打开 wp-config.php 文件,在底部增加以下代码:

define('WP_PROXY_HOST', 'us.centos.bz');
define('WP_PROXY_PORT', '31281');

*该示例代理服务器来源于网络。

方法三:修改 WordPress 升级代码

我们发现,使用网站更新经常失败,但是使用下载工具下载安装包基本都能正常下载,那么可以使用下载工具将安装包下载下来,在本地搭一个下载服务器,拦截网站下载安装。

修改 /etc/hosts 文件跳转域名访问
127.0.0.1               downloads.wordpress.org

创建Nginx配置
server {
        listen 80;
        server_name downloads.wordpress.org;
        server_tokens off;
        root /data/web/wordpress.org/downloads;

        allow 127.0.0.1/32;
        deny all;
}

注意,一定使用HTTP协议,若使用HTTPS协议,会有证书问题(哪怕做自签名证书也不行)

在更新XXX时发生了错误:下载失败。cURL error 60: SSL certificate problem: self signed certificate

修改 wp-admin/includes/class-wp-upgrader.php 将https|ftp转换为http:

搜索 public function download_package

                if ( ! preg_match( '!^(http|https|ftp)://!i', $package ) && file_exists( $package ) ) { //Local file or remote?
                        return $package; //must be a local file..
                }

在上面代码下添加如下代码

                if ( preg_match( '!^(https|ftp)://!i', $package ) ) {
                        //print $package;
                        print "正在从 <自建下载服务器> 下载更新…<br >";
                        print "From: " . $package . "<br >";
                        $package = preg_replace( '!^(https|ftp)://!i', 'http://', $package );
                        print "Change to: " . $package . "<br >";
                }

修改 wp-admin/includes/file.php 转换为http下载:

搜索 function download_url
将
$response = wp_safe_remote_get(
替换为
$response = wp_remote_get(

然后更新试试,是不是速度杠杠滴~~~~

本文来源于:自建下载服务器解决升级更新 WordPress 速度慢的问题-变化吧门户
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧门户观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。

  • 赞助本站
  • 微信扫一扫
  • weinxin
  • 加入Q群
  • QQ扫一扫
  • weinxin
二叶草
Wpscan使用教程-Wordpress网站渗透 问题及解决

Wpscan使用教程-Wordpress网站渗透

Wpscan是专门检查Wordpress网站漏洞的工具,它可以全面检查wp网站的漏洞,有助于我们增加网站安全防护。但是也有人使用Wpscan渗透别人的网站,最近我客户的网站就被黑了,现在简单把使用wp...

发表评论