已安裝了nginx,如何啟用http2.0協(xié)議
已安裝了nginx,如何啟用http2.0協(xié)議
藍(lán)隊(duì)云小課堂:
生產(chǎn)環(huán)境的nginx當(dāng)初沒(méi)有編譯啟用ngx_http_v2_module模塊,因此網(wǎng)站不能啟用http2.0協(xié)議,需要重新啟用一下。
現(xiàn)在有兩個(gè)目錄,分別是nginx的源碼目錄和nginx的安裝目錄,如圖所示:

操作流程
獲取安裝目錄中的nginx都已經(jīng)啟用了哪些模塊;
在源碼目錄中重新編譯nginx,編譯時(shí)要添加已啟用的模塊和ngx_http_v2_module模塊;
將編譯生成的nginx文件,拷貝到安裝目錄中,覆蓋原有的nginx文件;
重啟,大功告成;
源碼目錄和安裝目錄的版本必須一致!!!
開(kāi)始實(shí)戰(zhàn)
1. 獲取已啟用的模塊
進(jìn)入到安裝目錄:
cd /usr/local/nginx/sbin
獲取已啟用的模塊:(-V是大寫(xiě)的)
./nginx -V
結(jié)果如下:

2. 重新編譯nginx
進(jìn)入到nginx源碼目錄重新編譯,通過(guò)--with-http_v2_module啟用ngx_http_v2_module模塊,然后make (注意不要make install,否則直接覆蓋了)。
進(jìn)入到源碼目錄:
cd /usr/local/nginx-1.18.0
配置編譯文件,包括已啟用的模塊和ngx_http_v2_module模塊:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module
編譯一下:(注意不要make install,否則直接覆蓋了)
make
編譯后的文件生成在源碼目錄的objs目錄下,如圖所示:

3. 覆蓋原有的nginx文件
先備份一下安裝目錄中的nginx文件
cd /usr/local/nginx/sbin
mv nginx nginx.bak
將編譯后的nginx文件拷貝到安裝目錄中
cp /usr/local/nginx-1.18.0/objs/nginx /usr/local/nginx/sbin
用./nginx -V命令查看已啟用的模塊,可以看到--with-http_v2_module模塊,如圖所示:

4. 重啟nginx
./nginx -s stop
./nginx
其它模塊的啟用也是類(lèi)似的。順便說(shuō)下make和make install, make是把源碼編譯成可執(zhí)行的二進(jìn)制,make install是把編譯好的二進(jìn)制或一些文件安裝到指定的路徑。
5. 修改nginx.conf文件,添加http2.0協(xié)議
請(qǐng)注意,HTTP/2.0協(xié)議需要使用SSL加密。如果您的網(wǎng)站不使用SSL加密,則無(wú)法使用HTTP/2.0協(xié)議。
文件位置:

添加協(xié)議,如圖所示:
listen 443 ssl http2;

更多小知識(shí),可聯(lián)系藍(lán)隊(duì)云一起探討。
會(huì)員登錄
賬號(hào)登錄還沒(méi)有賬號(hào)?立即注冊(cè)