RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Centos6 Tengine開啟http2.0傳輸協(xié)議

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-10 22:02 ? 次閱讀

1.前言

最近在優(yōu)化網(wǎng)站的訪問速度,為網(wǎng)站開啟http2協(xié)議,這個(gè)協(xié)議有什么優(yōu)點(diǎn)呢?如下:

  • http2是下一代的傳輸協(xié)議,以后都會(huì)普遍用它,是一個(gè)趨勢(shì)。
  • http2有多路復(fù)用特性,意思是訪問一個(gè)域名下面的資源,多個(gè)請(qǐng)求共用一條TCP鏈路,所以比http1.1要快得多。

2.準(zhǔn)備工作

  • 需要重新編譯openssl1.0.2以上版本,因?yàn)槲覀兿到y(tǒng)的版本都是centos6的,不支持直接yum更新openssl,如果是centos7,直接yum update openssl -y 即可更新
  • 編譯完成openssl后,需要重新使用openssl的庫(kù)文件重新編譯Tenginx,我們使用的Tengine版本是Tengine/2.2.2。

3.操作步驟

  • 安裝 openssl-1.0.2t
#進(jìn)入/usr/local/src,一般軟件包都放這里
cd /usr/local/src
#下載安裝包
wget https://www.openssl.org/source/openssl-1.0.2t.tar.gz

tar -zxvf openssl-1.0.2t.tar.gz

cd openssl-1.0.2t

./config shared zlib
#默認(rèn)安裝找/usr/local/ssl
make && make install 
#先備份之前的老版本
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/include/openssl /usr/include/openssl.old
#建立軟連接
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
#把動(dòng)態(tài)庫(kù)加入系統(tǒng)配置路徑
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
#查看動(dòng)態(tài)庫(kù)是否生效
ldconfig -p
#檢查openssl版本
openssl version
  • 安裝Tenginx
cd /usr/local/src

wget http://tengine.taobao.org/download/tengine-2.2.2.tar.gz

tar tengine-2.2.2.tar.gz

cd tengine-2.2.2
#這里需要修改一下tengine的代碼,因?yàn)槲覀兪鞘謩?dòng)編譯的openssl,依賴庫(kù)路徑和原來(lái)系統(tǒng)安裝的不太一樣,所以需要手動(dòng)指定
vim auto/lib/openssl/conf
#在大概32行配置原來(lái)配置如下:
CORE_INC
CORE_DEP
CORE_LIB
CORE_LIB
#修改成如下,保存退出
CORE_INC
CORE_DEP
CORE_LIB
CORE_LIB

#先安裝一些依賴(我是升級(jí),其實(shí)不需要安裝依賴了,如果是首次安裝tenginx,就需要安裝依賴)
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel   gcc gcc-c++ autoconf automake jemalloc jemalloc-devel
#開始編譯tenginx
cd /usr/local/src/tengine-2.2.2  && ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_concat_module --with-jemalloc --with-http_v2_module --with-http_secure_link_module --with-openssl=/usr/local/ssl
make
##注意,如果是第一安裝tegninx,只需要只需執(zhí)行以下命令
make install
#但是我是安裝過了,所以需要備份老的tenginx
cp -af /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_bak
cp -af /usr/local/nginx/sbin/dso_tool /usr/local/nginx/sbin/dso_tool_bak
#拷貝編譯好的tenginx到對(duì)應(yīng)目錄
cp /usr/local/src/tengine-2.2.2/objs/nginx /usr/local/nginx/sbin/
cp /usr/local/src/tengine-2.2.2/objs/dso_tool /usr/local/nginx/sbin/
#然后重啟Tenginx,就算編譯安裝完成啦
  • Tenginx http2配置
#配置http2很簡(jiǎn)單,如下:
server {
    #http 不支持http2的傳輸協(xié)議,所以80端口不變
    listen 80
    # listen在原h(huán)ttps配置文件基礎(chǔ)上添加http2
    listen 443 ssl http2;
    server_name www.oneq.work;
    .....
}

#另外附上一份完整的支持http2的Tenginx配置

upstream server_backend {

    server ip:80 weight=10;

    server ip:80 weight=10;    

    keepalive 800;
#下面檢測(cè)端口的配置需要Tenginx的才有效,不是Tenginx需要安裝額外的插件或者直接注釋即可    

    check interval=5000 rise=3 fall=3 timeout=5000 type=tcp;
}

server {
    listen       80;
    listen       443 ssl http2;
    server_name   xxx.xxx.xxx;

    req_status server;

    ssl_certificate      /usr/local/nginx/certs/xxx.xxx.xxx.crt;
    ssl_certificate_key  /usr/local/nginx/certs/xxx.xxx.xxx.key;
    ssl_session_timeout  5m;
    ssl_protocols   TLSv1.1 TLSv1.2 TLSv1;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers   on;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass_header User-Agent;
    proxy_set_header  X-Forwarded-Proto $scheme;
    proxy_set_header Connection "";
    proxy_http_version 1.1;
    access_log  logs/access.log  main;

location / {
 proxy_pass http://server_backend/;
 access_log logs/server_backend.log main;
 }

error_page 404 /404.html;
    location = /404.html {
        root html;
    }

error_page   500 502 503 504  /50x.html;

    location = /50x.html {
        root   html;
    }
}

4.效果展示

5.總結(jié)

1.第一次安裝tenginx和升級(jí)步驟有所區(qū)別,需要注意下

2.http不支持http2的傳輸協(xié)議,所以80端口還是使用http1.1的協(xié)議,https使用http2的傳輸協(xié)議

作者博客 青葉的博客

審核編輯 黃昊宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11292

    瀏覽量

    209322
  • OpenSSL
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    8677
  • nginx
    +關(guān)注

    關(guān)注

    0

    文章

    149

    瀏覽量

    12170
  • http2.0
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    2134
  • Tengine
    +關(guān)注

    關(guān)注

    1

    文章

    47

    瀏覽量

    2845
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    socket 與 HTTP 協(xié)議的關(guān)系

    在計(jì)算機(jī)網(wǎng)絡(luò)中,Socket和HTTP協(xié)議是兩個(gè)非常重要的概念,它們?cè)跀?shù)據(jù)傳輸和網(wǎng)絡(luò)通信中扮演著關(guān)鍵的角色。 1. Socket的概念 Socket是一種通信機(jī)制,它允許兩個(gè)程序(一個(gè)客戶端和一個(gè)
    的頭像 發(fā)表于 11-12 14:12 ?196次閱讀

    socket與HTTP協(xié)議的比較

    在計(jì)算機(jī)網(wǎng)絡(luò)中,Socket和HTTP協(xié)議都是非常重要的概念。它們?cè)跀?shù)據(jù)傳輸和通信中扮演著關(guān)鍵角色,但它們的應(yīng)用場(chǎng)景和工作原理有所不同。 1. 定義與基本概念 1.1 Socket Socket
    的頭像 發(fā)表于 11-01 16:14 ?241次閱讀

    低功耗4G模組HTTP網(wǎng)絡(luò)協(xié)議應(yīng)用

    ?大家好,今天我們來(lái)學(xué)習(xí)合宙Air780E模組LuatOS開發(fā)4G通信中HTTP網(wǎng)絡(luò)協(xié)議的應(yīng)用,實(shí)現(xiàn)模組和服務(wù)器之間數(shù)據(jù)的傳輸。 一、HTTP概述 1.1 簡(jiǎn)介
    的頭像 發(fā)表于 11-01 07:23 ?194次閱讀
    低功耗4G模組<b class='flag-5'>HTTP</b>網(wǎng)絡(luò)<b class='flag-5'>協(xié)議</b>應(yīng)用

    4G 模組 HTTP 網(wǎng)絡(luò)協(xié)議應(yīng)用 白嫖版!

    今天我們來(lái)白嫖的是Air780E模組LuatOS開發(fā)4G通信中HTTP網(wǎng)絡(luò)協(xié)議的應(yīng)用,實(shí)現(xiàn)模組和服務(wù)器之間數(shù)據(jù)的傳輸,詳細(xì)介紹硬件環(huán)境、軟件環(huán)境、功能驗(yàn)證等…
    的頭像 發(fā)表于 10-30 14:22 ?778次閱讀
    4G 模組 <b class='flag-5'>HTTP</b> 網(wǎng)絡(luò)<b class='flag-5'>協(xié)議</b>應(yīng)用 白嫖版!

    CentOS中使用tcpdump抓包

    CentOS中使用tcpdump抓包
    的頭像 發(fā)表于 10-28 14:48 ?230次閱讀

    HTTP協(xié)議下的海外網(wǎng)絡(luò)暢游:安全與效率的雙重保障

    在全球化日益加深的今天,HTTP協(xié)議作為互聯(lián)網(wǎng)上最為廣泛使用的通信協(xié)議之一,為海外網(wǎng)絡(luò)暢游提供了重要的技術(shù)支持。在HTTP協(xié)議下,海外網(wǎng)絡(luò)暢
    的頭像 發(fā)表于 09-24 08:08 ?187次閱讀

    常用CentOS命令總結(jié)

    CentOS(Community ENTerprise Operating System)是基于Red Hat Enterprise Linux(RHEL)的自由和開源的企業(yè)級(jí)操作系統(tǒng),旨在提供一個(gè)
    的頭像 發(fā)表于 08-07 15:35 ?314次閱讀

    鑒源實(shí)驗(yàn)室·HTTP協(xié)議網(wǎng)絡(luò)安全攻擊

    互聯(lián)網(wǎng)的迅猛發(fā)展,HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)已經(jīng)成為網(wǎng)頁(yè)傳輸的基礎(chǔ)協(xié)議。它在客戶端(
    的頭像 發(fā)表于 07-30 13:48 ?312次閱讀
    鑒源實(shí)驗(yàn)室·<b class='flag-5'>HTTP</b><b class='flag-5'>協(xié)議</b>網(wǎng)絡(luò)安全攻擊

    CAN總線的傳輸速率由什么決定

    的快慢。本文將詳細(xì)分析CAN總線傳輸速率的決定因素。 CAN協(xié)議標(biāo)準(zhǔn) CAN總線有多種協(xié)議標(biāo)準(zhǔn),如CAN 2.0A、CAN 2.0B和CAN
    的頭像 發(fā)表于 06-16 10:17 ?1389次閱讀

    IOT(物聯(lián)網(wǎng))的七大通信協(xié)議Http協(xié)議

    一、什么是http協(xié)議?嵌入式HTTP協(xié)議是一種輕量級(jí)的通信協(xié)議,專為嵌入式系統(tǒng)設(shè)計(jì),用于實(shí)現(xiàn)設(shè)備與互聯(lián)網(wǎng)之間的通信。
    的頭像 發(fā)表于 05-24 08:11 ?2513次閱讀
    IOT(物聯(lián)網(wǎng))的七大通信<b class='flag-5'>協(xié)議</b>之<b class='flag-5'>Http</b><b class='flag-5'>協(xié)議</b>

    網(wǎng)絡(luò)傳輸協(xié)議有幾種?

    協(xié)議)、TCP(傳輸控制協(xié)議)、UDP(用戶數(shù)據(jù)報(bào)協(xié)議)、ICMP(互聯(lián)網(wǎng)控制報(bào)文協(xié)議)等。這些協(xié)議
    的頭像 發(fā)表于 04-02 16:04 ?1427次閱讀

    什么是CAN2.0協(xié)議?

    CAN2.0協(xié)議是控制器局域網(wǎng)絡(luò)(ControllerAreaNetwork,CAN)的一種版本,也被稱為傳統(tǒng)CAN協(xié)議,由德國(guó)博世BOSCH公司開發(fā),并已成為國(guó)際上廣泛應(yīng)用于汽車電子、工業(yè)自動(dòng)化
    的頭像 發(fā)表于 03-29 08:19 ?1325次閱讀
    什么是CAN<b class='flag-5'>2.0</b><b class='flag-5'>協(xié)議</b>?

    通信網(wǎng)絡(luò)協(xié)議棧之UDP協(xié)議技術(shù)解析

    在通常的網(wǎng)絡(luò)協(xié)議棧中,TCP/IP協(xié)議棧是一個(gè)常見的示例,其中UDP和TCP都是傳輸協(xié)議傳輸層負(fù)責(zé)提供端到端的數(shù)據(jù)
    發(fā)表于 02-01 11:00 ?970次閱讀
    通信網(wǎng)絡(luò)<b class='flag-5'>協(xié)議</b>棧之UDP<b class='flag-5'>協(xié)議</b>技術(shù)解析

    mqtt協(xié)議http協(xié)議區(qū)別

    的最大優(yōu)點(diǎn)在于,用極少的代碼和有限的帶寬,為連接遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的消息服務(wù)。 HTTP協(xié)議(HyperText Transfer Protocol)是因特網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)傳輸協(xié)議
    的頭像 發(fā)表于 01-19 15:56 ?6925次閱讀
    RM新时代网站-首页