在这篇文章中我对 hostwinds 做了一个全面的评测,如果我们通过 hostwinds 搭建访客主要是国内用户的中文网站,会出现网站访问速度慢的情况,因为毕竟服务器在国外,如果想提高访问速度,当然可以选择用国内的主机商比如阿里云,但是只要是用国内的主机商搭建网站,都需要先做域名备案,而很多人是不想做域名备案的,最后还是只能选择用国外的主机商,那么就引出一个问题,不想做域名备案而用国外主机商搭建访客主要是国内用户的中文网站如何提高访问速度?今天我就分享一系列方法,效果怎么样,可以看本网站的速度,因为该网站就是用 hostwinds 搭建的。
注意这个网站有的页面图片很多,照样可以瞬间加载完毕,好了,废话不多说,现在开始分享整套方案:
第一步:安装 BBR Plus;BBR 是 Google 公司出品的一种新型拥塞控制算法,可以使 Linux 服务器显著地提高吞吐量和减少 TCP 连接的延迟, 由于 BBR 应用在 VPS 服务器上,可以明显改善服务器的网络传输速度,减少丢包,并尽量跑满带宽,所以可以对网站进行加速。而 BBR Plus 版本是在原版 BBR 的基础上,对一些参数进行改良后的修正版本,比原版BBR 有着更为显著的加速效果,所以建议安装 BBR Plus。
安装方法:
首先用 Xshell 或者 Putty 连接 VPS 服务器, CentOS 7 系统执行以下命令安装:
wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh"
chmod +x tcp.sh
./tcp.sh
输入 “2” 安装 BBRplus 版内核,安装完成以后输入 “y” 重启vps,等待一分钟再连接服务器,执行以下命令:
./tcp.sh
再次出现上图界面,输入 “7” BBRplus 启动成功。
第二步:把域名解析权转移到 hostwinds;本网站的域名是在 namesilo 注册的,先在 namesilo 上把 NameServer 修改为 hostwinds 提供的地址。如下图:
然后在 hostwinds 官网 后台做域名解析,如下图:
通过 who.is 可以查询网站的 DNS 等信息,如下图:
第三步:把图片静态资源分离至阿里云对象存储;WordPress 生成页面之后,页面里面有图片, CSS, JS 这些静态文件,这些静态资源如果加载比较慢的话,用户访问你的网站就会很慢,如果页面中图片太多访问速度更慢,所以我们要对图片这个静态资源进行加速。尤其是如果网站的服务器在国外,且页面中图片多的话,国内用户访问该网站往往会出现图片加载缓慢或图片无法加载的情况,会大大降低国内用户网站的访问速度,注意此方法会降低国外用户的访问速度,因为图片转移到了阿里云服务器。
而通过阿里云对象存储服务,把图片上传到它的存储空间,那么对图片的访问也就转移到了阿里云,自然就会大大提高国内用户的访问速度。
WordPress 的一款插件——WPOSS 可以实现网站的图片文件分离至阿里云对象存储,设置方法如下:
1、登录阿里云账号,点击“控制台”——“对象存储OSS”——“+”,创建Bucket,如下图:
2、Bucket 名称:随意设置;区域:建议选择杭州;存储类型:选择标准存储;
读写权限:选择公共读;服务器端加密:选择无;其他选项默认;最后点击 “确定”打开如下图, 红色框的内容后面需要用到 :
3、在阿里云用户信息管理中申请 API,AccessKey ID 和 AccessKey Secret 这两个参数后面也会用到,如下图:
4、通过 wordpress 后台安装 WPOSS 插件并启用,并做如下图的设置:
把上面的内容复制到对应的项目,本地文件夹和 Bucket 域名的文件路径尾巴路径保持一致,统一使用wp-content/uploads,最后保存,大功告成,费用成本如下图,按照网站流量越大,盈利越高的标准, 这个成本几乎可以忽略不计了。
如果之前网站已经上传了图片,需要先把这些图片下载到本地电脑,然后从 wordpress 的媒体库中删除这些图片,再通过重新编辑文章,上传这些图片,就会自动保存到阿里云的对象存储中。
第四步:禁用谷歌字体;由于 WordPress 后台外链加载了谷歌字体,代码位置在 wp-includes\script-loader.php,如下图,而谷歌服务器在国内访问困难,所以会影响网站页面加载速度。虽然可以通过安装相关插件禁用谷歌字体,但是有时候安装了插件也不起作用,况且通过代码可以做到,建议尽量不要安装插件。
解决办法是将下面代码添加到主题的 functions.php 文件中:
function coolwp_remove_open_sans_from_wp_core() {
wp_deregister_style( 'open-sans' );
wp_register_style( 'open-sans', false );
wp_enqueue_style('open-sans','');
}
add_action( 'init', 'coolwp_remove_open_sans_from_wp_core' );
如下图:
第五步:启动 Memcached;Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高网站的速度。以前需要在linux系统下执行很多命令行才可以安装Memcached,很复杂,而现在宝塔面板对Memcached的集成可以说大大降低了安装难度。
宝塔面板安装 Memcached 环境:
1、安装 Memcached 服务端;打开宝塔面板,点击“软件商店”——“运行环境”,找到 Memcached ,点击“安装”,如下图:
2、 安装 PHP 端 Memcached ;点击“软件商店”——“运行环境”——“PHP的设置”——“安装扩展”,找到 Memcached ,点击“安装”,如下图:
3、WordPress 程序配置 Memcached;首先需要一个wordpress的Memcached文件 object-cache.php ,下载地址:
https://github.com/tollmanz/wordpress-pecl-memcached-object-cache
下载完成后,将其中的 object-cache.php 文件上传到 wordpress 的 wp-content 目录下。
WordPress 会自动检查在 wp-content 目录下是否有 object-cache.php 文件,如果有,直接调用它作为 WordPress 对象缓存机制,点击“软件商店”——“运行环境”——“Memcached”——“负载状态”,查看hit命中率大于1%,证明安装成功。
经过执行以上五步后,即使你的网站服务器在国外,也会大大提高国内用户的访问速度。