一、籌備事情
昨天把站點(diǎn)從http進(jìn)級(jí)到https,那么接下來(lái)就應(yīng)該可以嘗嘗http/2的味道了!
可是今朝站點(diǎn)陳設(shè)在阿里云CentOS下,Nginx版本較量低,v1.4.4,所以必需得進(jìn)級(jí)到v1.9.x,索性直接升到最新版得了!
安裝之前,先籌備好兩個(gè)目次:
# 下載的源碼,放在這個(gè)目次下舉辦編譯
# 編譯后的App,安裝到這個(gè)目次
mkdir -p /root/server
# 進(jìn)入源碼目次,籌備接下來(lái)的操縱
cd /root/source
二、下載openssl最新版源碼
Openssl官方下載頁(yè)面:這里
# 這里下載1.0.2g
wget http://www.openssl.org/source/openssl-1.0.2g.tar.gz
# 解壓,備用
tar zxfv openssl-1.0.2g.tar.gz
三、下載zlib最新版源碼
Zlib官方下載頁(yè)面:這里
# 這里下載1.2.8
wget -O - http://prdownloads.sourceforge.net/libpng/zlib-1.2.8.tar.gz?download > zlib-1.2.8.tar.gz
# 解壓,備用
tar zxfv zlib-1.2.8.tar.gz
四、下載Nginx最新版源碼
Nginx官方下載頁(yè)面:這里
# 這里下載1.9.12
wget http://nginx.org/download/nginx-1.9.12.tar.gz
# 解壓
tar zxfv nginx-1.9.12.tar.gz
五、編譯Nginx
這里有個(gè)原則,就是:
當(dāng)前低版本的Nginx已有的modules,都需要保存,萬(wàn)一丟了誰(shuí),一會(huì)兒新版本跑不起來(lái)就悲催了!
1、獲取當(dāng)前低版本Nginx的編譯參數(shù)
# -V參數(shù)獲取具體信息
/root/server/nginx-1.4.4/sbin/nginx -V
獲得功效:
nginx version: nginx/1.4.4
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)
configure arguments: --user=www --group=www --prefix=/root/server/nginx-1.4.4 --with-http_stub_status_module --without-http-cache --with-http_gzip_static_module
2、增加新參數(shù)
--with-openssl=/root/source/openssl-1.0.2g --with-pcre --with-zlib=/root/source/zlib-1.2.8 --with-stream --with-stream_ssl_module --with-http_v2_module --with-threads
3、編譯&安裝
cd nginx-1.9.12
# 編譯
./configure --user=www --group=www --prefix=/root/server/nginx-1.9.12 --with-http_stub_status_module --without-http-cache --with-http_gzip_static_module --with-openssl=/root/source/openssl-1.0.2g --with-pcre --with-zlib=/root/source/zlib-1.2.8 --with-stream --with-stream_ssl_module --with-http_v2_module --with-threads
# 安裝
make && make install
并沒(méi)有什么[Error]之類的錯(cuò)誤信息,編譯安裝樂(lè)成!
4、新版本測(cè)試
# 查察安裝后的信息
/root/server/nginx-1.9.12/sbin/nginx -V
# 測(cè)試
/root/server/nginx-1.9.12/sbin/nginx -t
安心了,確實(shí)樂(lè)成了!
六、Nginx設(shè)置文件移植
即便Nginx版本從1.4.4到1.9.12超過(guò)了那么多,但我根基可以猜到,設(shè)置文件必定沒(méi)啥非凡的大行動(dòng),所以直接cp移植,測(cè)試即可!
# 從本來(lái)的nginx/conf目次移植
cp /root/server/nginx-1.4.4/conf/nginx.conf /root/server/nginx-1.9.12/conf/nginx.conf
cp -r /root/server/nginx-1.4.4/conf/vhost /root/server/nginx-1.9.12/conf/
# 測(cè)試
/root/server/nginx-1.9.12/sbin/nginx -t
nginx: the configuration file /root/server/nginx-1.9.12/conf/nginx.conf syntax is ok
nginx: configuration file /root/server/nginx-1.9.12/conf/nginx.conf test is successful
完美,根基無(wú)縫移植!
七、啟用新版本Nginx
# 溫柔的遏制老版本nginx,雖然,也可以采納暴力的 pkill nginx 方法
service nginx stop
# 啟用新版本nginx
/root/server/nginx-1.9.12/sbin/nginx
會(huì)見(jiàn)網(wǎng)站 https://www.server110.com,一切正常!可以修改軟連了:
# 移除老的軟連,成立新的軟連
unlink /root/server/nginx && ln -s /root/server/nginx-1.9.12 /root/server/nginx
八、回歸正題--開(kāi)啟http2
這一步,就已經(jīng)變得很是簡(jiǎn)樸了,鄭州電信服務(wù)器 服務(wù)器托管,修改nginx/conf/vhosts/baidufe.conf即可:
server {
listen 443 ssl http2;
server_name baidufe.com www.server110.com;
...
}
其實(shí),也就是直接在listen 443 ssl后頭增加http2即可!然后nginx reload,搞定!
九、網(wǎng)站http2驗(yàn)證
進(jìn)入 https://www.server110.com刷新,右上角HTTP/2 and SPDY indicator圖標(biāo)變藍(lán)色了,驗(yàn)證通過(guò)!
雖然,還可以通過(guò)curl的方法來(lái)檢測(cè),可是前提條件是,curl的版本得足夠新!
curl --http2 -I https://www.server110.com
至此,大功告成!