通过SNI Proxy加速国内服务器的WordPress更新

admin 2021年1月18日20:57:04评论567 views字数 2351阅读7分50秒阅读模式
摘要

相信很多在国内服务器搭建WordPress的同学都有过这样的烦恼:更新不成功,后台某些页面打卡非常慢,插件主题没法在线安装等等等等这些问题,而且如果你的服务器又因为某些因素不方便直接搭建$$r之类的软件来给它加速,每次手动下载安装包再上传安装会是一件非常头疼的事。

相信很多在国内服务器搭建WordPress的同学都有过这样的烦恼:更新不成功,后台某些页面打卡非常慢,插件主题没法在线安装等等等等这些问题,而且如果你的服务器又因为某些因素不方便直接搭建$$r之类的软件来给它加速,每次手动下载安装包再上传安装会是一件非常头疼的事。

注意,此方法并不能让你国内的服务器访问被屏蔽的网站,只能加速没有被屏蔽的网站

首先,你需要准备:

  • 一个国内的服务器,已经装好WordPress(当然了)
  • 一个国外的服务器

注:本教程的环境为Centos7

1. 安装所需的软件包

 # Centos8用dnf会更快一些: 
sudo dnf install autoconf automake curl gettext-devel libev-devel pcre-devel perl pkgconfig rpm-build udns-devel git 
# Centos7及以下: 
sudo yum install autoconf automake curl gettext-devel libev-devel pcre-devel perl pkgconfig rpm-build udns-devel git   

2. 下载源码并编译安装

  1. 克隆源码
cd ~/ git clone https://github.com/dlundquist/sniproxy.git cd sniproxy/ 
  1. 构建包:
./autogen.sh && ./configure && make dist 

在这一步有可能会看到./setver.sh: line 35: debchange: command not found报错,在Centos上这个是正常现象,不用理会即可

  1. 构建RPM包:

注:这一步是最重要的,网络上其他教程大部分都不能在Centos上正常编译

安装官方教程执行rpmbuild --define "_sourcedirpwd" -ba redhat/sniproxy.spec会发现报错

RPM build errors:     Bad exit status from /var/tmp/rpm-tmp.Yh1p0x (%build) 

这时需要编辑redhat/sniproxy.spec,在26行找到%configure CFLAGS="-I/usr/include/libev",把这一行改为%configure CFLAGS="-fPIC -I/usr/include/libev"

通过SNI Proxy加速国内服务器的WordPress更新

然后再执行

rpmbuild --nodebuginfo --define "_sourcedir `pwd`" -ba redhat/sniproxy.spec  
# 更新 
rpmbuild --define "_sourcedir `pwd`" -ba redhat/sniproxy.spec  

即可正常编译

  1. 安装RPM包 :
cd ~/rpmbuild/RPMS/x86_64/ sudo yum localinstall sniproxy-<version>.<arch>.rpm 

3. 配置并运行sniproxy

  1. 编辑配置文件 /etc/sniproxy.conf
user daemon pidfile /var/run/sniproxy.pid resolver { nameserver 1.1.1.1 nameserver 1.0.0.1 mode ipv4_only } error_log {     filename /var/log/sniproxy_error.log     priority debug } # listen 0.0.0.0 80 { #   table https_hosts # } listen 0.0.0.0 443 {    proto tls    table https_hosts    access_log {        filename /var/log/sniproxy_access.log        priority notice    } } table https_hosts {     (.*.|)wordpress.org$ * } 
  1. 编辑systemd自动启动脚本
vim /etc/systemd/system/sniproxy.service 
# 下面是配置  
[Unit] Description=sniproxy servier After=network.target  [Service] ExecStart=/usr/sbin/sniproxy -c /etc/sniproxy.conf -f Restart=always  [Install] WantedBy=multi-user.target 
 # 下面是相关命令 # 配置重载(修改了systemd配置之后都要执行这条命令)
 systemctl daemon-reload  
# 配置开机启动 
systemctl enable sniproxy  
# 启动 
systemctl start sniproxy 
# 重启 
systemctl restart sniproxy 
# 停止 
systemctl stop sniproxy 
# 查看状态
 systemctl status sniproxy 

然后再执行sniproxy即可正常运行

4. 国内服务器配置

回到国内运行WordPress的服务器上,编辑/etc/hosts,添加以下行

1.1.1.1 wordpress.org 1.1.1.1 api.wordpress.org 1.1.1.1 cn.wordpress.org 1.1.1.1 downloads.wordpress.org #注意把1.1.1.1换成正在运行sniproxy的服务器的ip 

我搞了一个不保证随时可以用 不能的话 给我留个言我来看看

144.34.204.235 wordpress.org 144.34.204.235 api.wordpress.org 144.34.204.235 cn.wordpress.org 144.34.204.235 downloads.wordpress.org 

再回到WordPress后台,会发现可以更新和安装插件了。

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年1月18日20:57:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   通过SNI Proxy加速国内服务器的WordPress更新https://cn-sec.com/archives/245750.html

发表评论

匿名网友 填写信息