在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

如何徹底搞懂Nginx知識網(wǎng)結(jié)構(gòu)

Linux愛好者 ? 來源:51CTO技術(shù)棧 ? 作者:51CTO技術(shù)棧 ? 2021-05-03 14:15 ? 次閱讀

1.Nginx知識網(wǎng)結(jié)構(gòu)圖

14909dba-a534-11eb-aece-12bb97331649.png

Nginx是一個高性能的HTTP和反向代理服務(wù)器,特點是占用內(nèi)存少,并發(fā)能力強,事實上nginx的并發(fā)能力確實在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好

nginx專為性能優(yōu)化而開發(fā),性能是其最重要的要求,十分注重效率,有報告nginx能支持高達50000個并發(fā)連接數(shù)

1.1反向代理

正向代理

正向代理:局域網(wǎng)中的電腦用戶想要直接訪問網(wǎng)絡(luò)是不可行的,只能通過代理服務(wù)器來訪問,這種代理服務(wù)就被稱為正向代理。

149957de-a534-11eb-aece-12bb97331649.png

反向代理

反向代理:客戶端無法感知代理,因為客戶端訪問網(wǎng)絡(luò)不需要配置,只要把請求發(fā)送到反向代理服務(wù)器,由反向代理服務(wù)器去選擇目標(biāo)服務(wù)器獲取數(shù)據(jù),然后再返回到客戶端,此時反向代理服務(wù)器和目標(biāo)服務(wù)器對外就是一個服務(wù)器,暴露的是代理服務(wù)器地址,隱藏了真實服務(wù)器IP地址

14d0a658-a534-11eb-aece-12bb97331649.png

1.2負載均衡

客戶端發(fā)送多個請求到服務(wù)器,服務(wù)器處理請求,有一些可能要與數(shù)據(jù)庫進行狡猾,服務(wù)器處理完畢之后,再將結(jié)果返回給客戶端

普通請求和響應(yīng)過程

14dcf8b8-a534-11eb-aece-12bb97331649.png

但是隨著信息數(shù)量增長,訪問量和數(shù)據(jù)量飛速增長,普通架構(gòu)無法滿足現(xiàn)在的需求

我們首先想到的是升級服務(wù)器配置,可以由于摩爾定律的日益失效,單純從硬件提升性能已經(jīng)逐漸不可取了,怎么解決這種需求呢?

我們可以增加服務(wù)器的數(shù)量,構(gòu)建集群,將請求分發(fā)到各個服務(wù)器上,將原來請求集中到單個服務(wù)器的情況改為請求分發(fā)到多個服務(wù)器,也就是我們說的負載均衡

圖解負載均衡

14ee6314-a534-11eb-aece-12bb97331649.png

假設(shè)有15個請求發(fā)送到代理服務(wù)器,那么由代理服務(wù)器根據(jù)服務(wù)器數(shù)量,平均分配,每個服務(wù)器處理5個請求,這個過程就叫做負載均衡

1.3動靜分離

為了加快網(wǎng)站的解析速度,可以把動態(tài)頁面和靜態(tài)頁面交給不同的服務(wù)器來解析,加快解析的速度,降低由單個服務(wù)器的壓力

動靜分離之前的狀態(tài)

150163ba-a534-11eb-aece-12bb97331649.png

動靜分離之后

150beaa6-a534-11eb-aece-12bb97331649.png

2. nginx如何在linux安裝

3. nginx常用命令

查看版本

。/nginx -v

啟動

。/nginx

關(guān)閉(有兩種方式,推薦使用 。/nginx -s quit)

。/nginx -s stop

。/nginx -s quit

重新加載nginx配置

。/nginx -s reload

4.nginx的配置文件

配置文件分三部分組成

全局塊

從配置文件開始到events塊之間,主要是設(shè)置一些影響nginx服務(wù)器整體運行的配置指令

并發(fā)處理服務(wù)的配置,值越大,可以支持的并發(fā)處理量越多,但是會受到硬件、軟件等設(shè)備的制約

152d20d6-a534-11eb-aece-12bb97331649.png

events塊

影響nginx服務(wù)器與用戶的網(wǎng)絡(luò)連接,常用的設(shè)置包括是否開啟對多workprocess下的網(wǎng)絡(luò)連接進行序列化,是否允許同時接收多個網(wǎng)絡(luò)連接等等

支持的最大連接數(shù)

153adf46-a534-11eb-aece-12bb97331649.png

http塊

諸如反向代理和負載均衡都在此配置

location指令說明

該語法用來匹配url,語法如下

location[ = | ~ | ~* | ^~] url{

}

=:用于不含正則表達式的url前,要求字符串與url嚴格匹配,匹配成功就停止向下搜索并處理請求

~:用于表示url包含正則表達式,并且區(qū)分大小寫。

~*:用于表示url包含正則表達式,并且不區(qū)分大瞎寫

^~:用于不含正則表達式的url前,要求ngin服務(wù)器找到表示url和字符串匹配度最高的location后,立即使用此location處理請求,而不再匹配

如果有url包含正則表達式,不需要有~開頭標(biāo)識

4.1 反向代理實戰(zhàn)

配置反向代理

目的:在瀏覽器地址欄輸入地址www.123.com跳轉(zhuǎn)linux系統(tǒng)tomcat主頁面

具體實現(xiàn)

先配置tomcat:因為比較簡單,此處不再贅敘

并在windows訪問

15437372-a534-11eb-aece-12bb97331649.png

具體流程

1551e5b0-a534-11eb-aece-12bb97331649.png

修改之前

配置

1564245a-a534-11eb-aece-12bb97331649.png

再次訪問

反向代理2

1.目標(biāo)

訪問http://192.168.25.132:9001/edu/ 直接跳轉(zhuǎn)到192.168.25.132:8080

訪問http://192.168.25.132:9001/vod/ 直接跳轉(zhuǎn)到192.168.25.132:8081

2.準備

配置兩個tomcat,端口分別為8080和8081,都可以訪問,端口修改配置文件即可。

15ef2316-a534-11eb-aece-12bb97331649.png

新建文件內(nèi)容分別添加8080?。?!和8081?。。?/p>

15fd1048-a534-11eb-aece-12bb97331649.png

16083aea-a534-11eb-aece-12bb97331649.png

響應(yīng)如下

1612b178-a534-11eb-aece-12bb97331649.png

161b3c1c-a534-11eb-aece-12bb97331649.png

3.具體配置

16248ce0-a534-11eb-aece-12bb97331649.png

重新加載nginx

。/nginx -s reload

訪問

162dfdfc-a534-11eb-aece-12bb97331649.png

162dfdfc-a534-11eb-aece-12bb97331649.png

實現(xiàn)了同一個端口代理,通過edu和vod路徑的切換顯示不同的頁面

4.2 反向代理小結(jié)

第一個例子:

瀏覽器訪問www.123.com,由host文件解析

出服務(wù)器ip地址

192.168.25.132 www.123.com

然后默認訪問80端口,而通過nginx監(jiān)聽80端口代理到本地的8080端口上,從而實現(xiàn)了訪問www.123.com,最終轉(zhuǎn)發(fā)到tomcat 8080上去

第二個例子:

訪問http://192.168.25.132:9001/edu/ 直接跳轉(zhuǎn)到192.168.25.132:8080

訪問http://192.168.25.132:9001/vod/ 直接跳轉(zhuǎn)到192.168.25.132:8081

實際上就是通過nginx監(jiān)聽9001端口,然后通過正則表達式選擇轉(zhuǎn)發(fā)到8080還是8081的tomcat上去

4.3 負載均衡實戰(zhàn)

1.修改nginx.conf

16657930-a534-11eb-aece-12bb97331649.png

167191a2-a534-11eb-aece-12bb97331649.png

2.重啟nginx

。/nginx -s reload

3.在8081的tomcat的webapps文件夾下新建edu文件夾和a.html文件,填寫內(nèi)容為8081!?。?!

4.在地址欄回車,就會分發(fā)到不同的tomcat服務(wù)器上

168da2fc-a534-11eb-aece-12bb97331649.png

16968b92-a534-11eb-aece-12bb97331649.png

3.負載均衡方式

輪詢(默認)

weight,代表權(quán),權(quán)越高優(yōu)先級越高

16b1f828-a534-11eb-aece-12bb97331649.png

fair,按后端服務(wù)器的響應(yīng)時間來分配請求,相應(yīng)時間短的優(yōu)先分配

16ba08ce-a534-11eb-aece-12bb97331649.png

ip_hash,每個請求按照訪問ip的hash結(jié)果分配,這樣每一個訪客固定的訪問一個后端服務(wù)器,可以解決session 的問題

16c2b834-a534-11eb-aece-12bb97331649.png

4.4 動靜分離實戰(zhàn)

什么是動靜分離

把動態(tài)請求和靜態(tài)請求分開,不是講動態(tài)頁面和靜態(tài)頁面物理分離,可以理解為nginx處理靜態(tài)頁面,tomcat處理動態(tài)頁面

動靜分離大致分為兩種:一、純粹將靜態(tài)文件獨立成單獨域名放在獨立的服務(wù)器上,也是目前主流方案;二、將動態(tài)跟靜態(tài)文件混合在一起發(fā)布,通過nginx分開

動靜分離圖析

16d581ee-a534-11eb-aece-12bb97331649.png

實戰(zhàn)準備

準備靜態(tài)文件

170365aa-a534-11eb-aece-12bb97331649.png

1725b434-a534-11eb-aece-12bb97331649.png

配置nginx

172eedec-a534-11eb-aece-12bb97331649.png

5.nginx高可用

如果nginx出現(xiàn)問題

173923d4-a534-11eb-aece-12bb97331649.png

解決辦法

1745d700-a534-11eb-aece-12bb97331649.png

前期準備

兩臺nginx服務(wù)器

安裝keepalived

虛擬ip

5.1安裝keepalived

[root@192 usr]# yum install keepalived -y

[root@192 usr]# rpm -q -a keepalived

keepalived-1.3.5-16.el7.x86_64

修改配置文件

[root@192 keepalived]# cd /etc/keepalived

[root@192 keepalived]# vi keepalived.conf

分別將如下配置文件復(fù)制粘貼,覆蓋掉keepalived.conf

虛擬ip為192.168.25.50

對應(yīng)主機ip需要修改的是

smtp_server 192.168.25.147(主)smtp_server 192.168.25.147(備)

state MASTER(主) state BACKUP(備)

global_defs {

notification_email {

[email protected]

[email protected]

[email protected]

}

notification_email_from [email protected]

smtp_server 192.168.25.147

smtp_connect_timeout 30

router_id LVS_DEVEL # 訪問的主機地址

}

vrrp_script chk_nginx {

script “/usr/local/src/nginx_check.sh” # 檢測文件的地址

interval 2 # 檢測腳本執(zhí)行的間隔

weight 2 # 權(quán)重

}

vrrp_instance VI_1 {

state BACKUP # 主機MASTER、備機BACKUP

interface ens33 # 網(wǎng)卡

virtual_router_id 51 # 同一組需一致

priority 90 # 訪問優(yōu)先級,主機值較大,備機較小

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.25.50 # 虛擬ip

}

}

啟動

[root@192 sbin]# systemctl start keepalived.service

176fc9b6-a534-11eb-aece-12bb97331649.png

訪問虛擬ip成功

1785b38e-a534-11eb-aece-12bb97331649.png

關(guān)閉主機147的nginx和keepalived,發(fā)現(xiàn)仍然可以訪問

6.原理解析

17bc68ac-a534-11eb-aece-12bb97331649.png

如下圖,就是啟動了一個master,一個worker,master是管理員,worker是具體工作的進程

17c7a7b2-a534-11eb-aece-12bb97331649.png

worker如何工作

17d218b4-a534-11eb-aece-12bb97331649.png

小結(jié)

worker數(shù)應(yīng)該和CPU數(shù)相等

一個master多個worker可以使用熱部署,同時worker是獨立的,一個掛了不會影響其他的

原文標(biāo)題:搞懂Nginx,一篇文章就夠了

文章出處:【微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    68

    文章

    11015

    瀏覽量

    215329
  • nginx
    +關(guān)注

    關(guān)注

    0

    文章

    162

    瀏覽量

    12458

原文標(biāo)題:搞懂Nginx,一篇文章就夠了

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    Nginx緩存配置詳解

    Nginx 是一個功能強大的 Web 服務(wù)器和反向代理服務(wù)器,它可以用于實現(xiàn)靜態(tài)內(nèi)容的緩存,緩存可以分為客戶端緩存和服務(wù)端緩存。
    的頭像 發(fā)表于 05-07 14:03 ?265次閱讀
    <b class='flag-5'>Nginx</b>緩存配置詳解

    Nginx服務(wù)優(yōu)化教程

    隱藏Nginx版本號,避免安全漏洞泄漏:修改配置文件法;修改源碼法
    的頭像 發(fā)表于 03-12 15:57 ?386次閱讀
    <b class='flag-5'>Nginx</b>服務(wù)優(yōu)化教程

    Nginx常見面試題總結(jié)

    Nginx是一個 輕量級/高性能的反向代理Web服務(wù)器,用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 協(xié)議。
    的頭像 發(fā)表于 03-03 09:36 ?316次閱讀
    <b class='flag-5'>Nginx</b>常見面試題總結(jié)

    華為 FlexusX 與 Docker+Nginx 的高效整合之路

    前言 華為 FlexusX 攜手 Docker+Nginx,高效整合,云端性能再升級!FlexusX 服務(wù)器,依托華為強大的技術(shù)實力,為 Docker 容器與 Nginx 服務(wù)器提供了完美的運行環(huán)境
    的頭像 發(fā)表于 01-23 17:55 ?254次閱讀
    華為 FlexusX 與 Docker+<b class='flag-5'>Nginx</b> 的高效整合之路

    nginx+lua+redis實現(xiàn)灰度發(fā)布

    作者:馬仁喜 前言: 授人以魚不如授人以漁 .先學(xué)會用,在學(xué)原理,在學(xué)創(chuàng)造,可能一輩子用不到這種能力,但是不能不具備這種能力。這篇文章主要是沉淀使用nginx+lua+redis實現(xiàn)灰度,當(dāng)我們具備
    的頭像 發(fā)表于 12-17 10:01 ?322次閱讀

    Nginx日常運維方法Linux版

    1,安裝? 下載RPM:wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx
    的頭像 發(fā)表于 12-06 16:38 ?374次閱讀
    <b class='flag-5'>Nginx</b>日常運維方法Linux版

    「服務(wù)器」Nginx Proxy Manager申請cloudflare泛域名

    一概述NginxProxyManager是一個基于Nginx的反向代理管理工具,它提供了一個用戶友好的Web界面,方便用戶管理和配置Nginx反向代理。主要功能包括:簡易的用戶界面:通過圖形界面
    的頭像 發(fā)表于 12-06 01:03 ?443次閱讀
    「服務(wù)器」<b class='flag-5'>Nginx</b> Proxy Manager申請cloudflare泛域名

    詳解nginx中的正則表達式

    前言,我這里驗證的nginx-v1.23.2單機環(huán)境下的nginx中的正則表達式、location路徑匹配規(guī)則和優(yōu)先級。
    的頭像 發(fā)表于 12-03 09:59 ?695次閱讀
    詳解<b class='flag-5'>nginx</b>中的正則表達式

    確保網(wǎng)站無縫運行:Keepalived高可用與Nginx集成實戰(zhàn)

    nginx負載均衡機高可用 腦裂 腦裂產(chǎn)生的原因 腦裂的常見解決方案 對腦裂進行監(jiān)控 keepalived簡介 keepalived官網(wǎng) Keepalived 軟件起初是專為LVS負載均衡軟件設(shè)計
    的頭像 發(fā)表于 11-27 09:08 ?1010次閱讀
    確保網(wǎng)站無縫運行:Keepalived高可用與<b class='flag-5'>Nginx</b>集成實戰(zhàn)

    nginx隱藏版本號與WEB服務(wù)器信息

    nginx不僅可以隱藏版本信息,還支持自定義web服務(wù)器信息 先看看最終的隱藏結(jié)果吧 具體怎么實現(xiàn)呢,其實也很簡單,請往下看 1 官網(wǎng)下載最新穩(wěn)定版 wget http://nginx
    的頭像 發(fā)表于 11-22 10:25 ?460次閱讀
    <b class='flag-5'>nginx</b>隱藏版本號與WEB服務(wù)器信息

    nginx負載均衡配置介紹

    目錄 nginx負載均衡 nginx負載均衡介紹 反向代理與負載均衡 nginx負載均衡配置 Keepalived高可用nginx負載均衡器 修改Web服務(wù)器的默認主頁 開啟
    的頭像 發(fā)表于 11-10 13:39 ?552次閱讀
    <b class='flag-5'>nginx</b>負載均衡配置介紹

    nginx中的正則表達式和location路徑匹配指南

    前言,我這里驗證的nginx-v1.23.2單機環(huán)境下的nginx中的正則表達式、location路徑匹配規(guī)則和優(yōu)先級。
    的頭像 發(fā)表于 09-29 16:02 ?1503次閱讀
    <b class='flag-5'>nginx</b>中的正則表達式和location路徑匹配指南

    Jtti:美國VPS開啟nginx狀態(tài)監(jiān)控,查看web服務(wù)器的并發(fā)連接數(shù)

    Nginx的ngx_http_stub_status_module提供能夠獲取Nginx自上次啟動以來的工作狀態(tài)的功能。如果需要啟用此功能的話,需要在編譯的過程中添加如下參數(shù)
    的頭像 發(fā)表于 08-26 15:42 ?545次閱讀

    nginx重啟命令linux步驟是什么?

      1、驗證nginx配置文件是否正確   方法一:進入nginx安裝目錄sbin下,輸入命令./nginx -t   看到如下顯示nginx.conf syntax is ok
    發(fā)表于 07-11 17:13

    nginx重啟命令linux步驟是什么?

      1、驗證nginx配置文件是否正確   方法一:進入nginx安裝目錄sbin下,輸入命令./nginx -t   看到如下顯示nginx.conf syntax is ok
    發(fā)表于 07-10 16:40
    主站蜘蛛池模板: 69日本人xxxx16-18| 成年大片免费视频播放手机不卡 | 久久天天躁狠狠躁夜夜2020一 | 一级做a爰片久久毛片看看 一级做a爰片久久毛片毛片 | 潘金莲国产三级视频在线 | 亚洲电影在线 | 亚洲成人精品在线 | 操女网站| 成人爽a毛片在线视频 | 91大神亚洲影视在线 | 18年大片免费在线 | 四虎影院在线观看网站 | 国产精品人成在线播放新网站 | 男人j进入女人j视频大全 | 特级全毛片 | 日日爽夜夜爽 | 午夜一级毛片不卡 | 九九热视频免费在线观看 | 老师啊灬啊灬用力啊快224视频 | 在线播放真实国产乱子伦 | 三级黄色片在线播放 | 成年女人毛片免费观看97 | 高清不卡日本v在线二区 | 欧美日韩性猛交xxxxx免费看 | 色咯咯| 天天爽夜夜爽夜夜爽 | 亚洲欧美v视色一区二区 | 免费看片aⅴ免费大片 | 日日噜噜夜夜狠狠久久丁香 | 日本成片免费高清 | 免费人成在观看 | 手机福利在线观看 | 四虎永久免费在线观看 | 黄h视频 | 免费看h网站 | 亚洲欧美成人综合久久久 | 国产一区二区三区乱码 | 国产精品色片 | 婷婷射| 亚洲成人午夜影院 | h视频免费 |