每一个国内WordPress网站站长都会碰到的问题,在某个时候,主题、某个插件,甚至WordPress本身更新出错,因为众所周知的原因。

我的客户里有30%左右将网站置于国内阿里云服务器上,这是一个我需要反复解决的问题。

我还没有找到100%可靠的方法,只能说下面的这个方案“足够”可靠。方法很简单:

第一步:WP站点服务器与国外某台服务器间建立稳定的隧道(自动断线重连),目前来看autossh是简单有效的选择:

# 在网站服务器与国外服务器之间建立SSH动态隧道
autossh -D 12345 -f -C -q -N user@1.2.3.4

命令参数请读者自行查询吧。

习惯CentOS的朋友请注意,如果你发现autossh安装后上述代码无法正常执行,请查看一下你的ssh版本,有可能是因为ssh版本太老了。

第二步:配置wp-config.php,让WordPress后台流量走这个隧道

# 在wp-config.php中为WordPress配置代理
define( 'WP_PROXY_HOST', 'socks5://127.0.0.1' );
define( 'WP_PROXY_PORT', '12345' );

这是参考文档

这个方法能比较好地保障WordPress更新顺利,缺点是有可能拖慢后台,这取决于你选择的中间服务器的质量,关于中间服务器的选择,这里不便展开讨论。

为了尽可能避免非必要情况下过代理,读者可以自行为为上述配置添加限制条件,如:

# 只在侦测到特定Cookie值时才启用代理
if ( $_COOKIE['useproxy'] == 'yes' ) {
    define( 'WP_PROXY_HOST', 'socks5://127.0.0.1' );
    define( 'WP_PROXY_PORT', '12345' );
}

你应该能找到适合自己的条件设置方式。

并非所有的主题、插件都遵循WP_PROXY_HOST和WP_PROXY_PORT的代理设置,但这种情况很少见,除非你安装了代码极不规范的组件,碰到这样的情况,最好的选择是更换代码规范的组件。

autossh比反复手动重启ssh好很多,但它仍不是100%可靠的,所以读者不妨配合脚本对autossh进程本身进行管理,个人经验,这并非必要,这里就不展开了。

另:国内WP站极端后台加速法

类似文章

订阅评论
提醒

3 Comments
内联反馈
查看所有评论
cpbabyblue
3 年 前

学会了使用小猫咪把wpshushu.com添加到直接用proxy访问,速度快多了…
不同代理,打开会比较慢。

灵风子
3 年 前

如果境外节点使用阿里云,不允许作为proxy,曾经被警告过。
我自己的站点也都是离岸部署。
我想到的一种办法是,借助git在两地同步代码,但是没有具体实施。

这是一沟绝望的死水,清风吹不起半点漪沦。—闻一多