nginx重新编译升级至http 2.0

在网络监听日益泛滥,劫持广告日益猖獗的今天,网站 https 可以算作标配。传闻明年开始,谷歌对没有上SSL的网站将会全部标记为不安全。所以各位没有加证书的伙伴赶紧加上咯。

而我今天要说的 HTTP 2.0 不是常见的 https ,而是下一代 HTTP 协议。改进主要在于单连接多资源的方式,减少服务端的链接压力,内存占用更少,连接吞吐量更大。并且 TCP 连接的减少而使网络拥塞状况得以改善,同时慢启动时间的减少,使拥塞和丢包恢复速度更快。总之就是跟上时代,进一步提高网站性能的好东西。

做一下折腾记录,也算是分享点经验。

注意: VPS 主机系统环境千差万别,所以经验只能提供思路,但很多操作命令,程序安装位置、目录等仅供参考。不能照搬全做,否则难以成功。本站 VPS 采用的系统是 centos6.7 平台是 LNMP1.3 套包。网站引擎为 nginx/1.10.0 版本。

由于 HTTP 2.0 是强制网站必须采用 HTTPS 的,大部分 Web Server 都依赖 OpenSSL 库提供 HTTPS 服务,对于它们来说,是否支持 HTTP 2.0 除了取决于使用的 OpenSSL 版本,还有 Web Server 的版本。本站采用的引擎 nginx/1.10.0 是默认支持 HTTP 2.0 的,而 centos6.7 系统自带的 openssl 库版本是 1.0.1e 这是2013年的版本。 OpenSSL 1.0.2 才开始支持 ALPN ,这是用上 HTTP 2.0 的前提。所以想上 HTTP 2.0 就应该首先升级 openssl 库。

openssl 库跟很多系统服务有关,不好随便升级,想给网站上 HTTP 2.0 比较保险的方式是在其他位置安装新版 openssl 库,然后将作为 Web Server 的 nginx 使用新版 openssl 库重新编译,这样 nginx 就能使用新版 openssl 库。

之前折腾一直不成功,主要是陷入了 openssl 库版本的大坑中,我一直尝试用最新的 openssl 1.1.0c 版本,一直都报错。今天才无意中得知 openssl 1.1.0 对很多接口做了更改,不一定适用。退回 openssl 1.0.2j 版本之后,重新编译 nginx 才得以成功。

重新编译 nginx 需要找到源压缩包解压,进入对应目录操作的时候,请注意复制原有的参数,如果你的 nginx 是安装在/usr/local/ 目录之下,可以在主机上使用命令:/usr/local/nginx/sbin/nginx -V 查看当前当前配置参数。

在主机解压 nginx 源码包的目录下输入的 ./configure 后面,一定要复制原有参数。然后在参数后面加上一个参数: openssl 库插件以及对应的路径位置。比如我是将 openssl 1.0.2j 的源码压缩包解压在/usr/local/src/openssl-1.0.2 这个位置,那加上的参数就是 –with-openssl=/usr/local/src/openssl-1.0.2 。如果你是新版 nginx 的话,那对应的参数里边一定会有一个 –with-http_v2_module 以及 –with-http_ssl_module 这些你懂的,不懂我也没法细化解释了。

参数加完之后,回车,然后再输入 make 命令,再回车。然后不要安装,也就是禁止下一步 make install。这个时候在 nginx 的源码包当前位置,会有一个目录 objs ,将里边的 nginx 文件复制到 nginx 执行目录。

cp objs/nginx /usr/local/nginx/sbin/nginx (这里假设你原来的 nginx 的执行目录是/usr/local/nginx)

后面输入命令 service nginx restart 重启 nginx。如果你原本已经上 https 了,那即可通过 HTTP 2.0 访问网站了(没上的话,自己另外找证书,然后修改网站配置文件添加SSL,这里不赘述。)

如何查看网站是否采用 http 2.0 ?

1:chrome浏览器 下载插件:HTTP/2 and SPDY indicator 插件装上之后,访问网站显示蓝色闪电图标的就是网站当前使用了http 2.0 协议

2:firefox浏览器 下载插件 HTTP/2 and SPDY indicator 2.3 插件装上之后,访问网站显示蓝色闪电图标的就是网站当前使用了http 2.0 协议

其实还有更简单的,浏览器开发者工具栏里边,可以看到对应链接采用什么版本协议,当然这个有点麻烦,就不赘述。

觉得好可以点个赞!
(暂无人赞)
Loading...

佛冈聚龙湾温泉游

团购了看似便宜的聚龙湾天然温泉度假村套票,一百九十多两人一晚,含自主早餐外加无限次泡温泉。过来之后算算车费,貌似跟旅游团差不多的,可见团购开始没落了。

不过既然都买了,那就来吧。只是广州的天气不太给力,阳光灿烂气温宜人,我穿个长袖都嫌热了。

门口是在一条国道旁边,不像上次那云天海那么曲径通幽,旁边就是汤塘镇,一个以天然温泉发展起来的小镇。

温泉主楼,可惜后面的喷泉不开,不然更是好看。

这里也是跟云天海一样,在树林间布置一个一个的小池子。不同温度不同规格,不同加料之类。

冬季泡了温泉,再来寒冰泉泡泡,冰火交替很爽的哦!

沸水“煮人”,其实是温泉按摩啦,对腰背酸痛有效果,挺爽的。

最后这张,是千年古温泉眼,可以看得到很多管子伸进去,以及一堆村民围着打水的。度假村的宣传片将这泉眼当做卖点,以为会装饰很好看当做一个旅游景点的,实际来看之,证明我想多了。泉眼口就是这样。

不过这也确实证明,清远聚龙湾这边的温泉纯天然,有没有污染不清楚,想来当地村民借着温泉生活那么多年,倒也无需担心了。宣传里边说这天然温泉含“氡”元素,对人的什么什么病痛效果很好。权当卖点。不过泉水倒是很清澈,温度也够,最高的时候在,那炼蛋池买个鸡蛋放下去半小时就能熟……当然那是不能下人的池。

最后推荐一下攻略:来广州要想聚龙湾玩的话,坐车就在越秀南客运站,或则广园路客运站,买去佛冈线的车票,在汤塘镇—聚龙湾站下就好。自驾车请尽量走高速(市区内那一段堵死你)。晚餐其实不用在酒店内,去度假村主干道旁的农家乐(副楼下一排餐饮店)就挺好。价格实惠而且味道不错,份量又足。老板都会推荐“山坑螺”,应该是这里的招牌之一,昨晚没吃到,只见旁边桌的都点了而且说味道不错。我们看这是清远,这的鸡比较出名,所以点的是葱油鸡,就四十多点半只端上,吃得撑死……至于照片嘛,最近改了让手机先吃的习惯,就不上菜的照片了,嘿嘿!

觉得好可以点个赞!
(暂无人赞)
Loading...