日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

nginx文件系统大小_Nginx 了解一下?

發(fā)布時(shí)間:2023/12/10 windows 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx文件系统大小_Nginx 了解一下? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這篇文章主要簡(jiǎn)單的介紹下 Nginx 的相關(guān)知識(shí),主要包括以下幾部分內(nèi)容:

  • Nginx 適用于哪些場(chǎng)景?
  • 為什么會(huì)出現(xiàn) Nginx?
  • Nginx 優(yōu)點(diǎn)
  • Nginx 的編譯與配置
  • Nginx 適用于哪些場(chǎng)景?

    如圖所示,一個(gè)請(qǐng)求會(huì)先經(jīng)過(guò) Nginx 到達(dá)應(yīng)用服務(wù)層,然后再去訪問(wèn)數(shù)據(jù)層(比如 Redis、MySQL 等),提供基本的數(shù)據(jù)功能。我們的應(yīng)用服務(wù)因?yàn)橐箝_(kāi)發(fā)效率是非常高的,所以它的運(yùn)行效率是很低的,它的 qps、tps或者并發(fā)都是受限的,所以我們需要把很多這樣的應(yīng)用服務(wù)組成集群,向用戶提供高可用服務(wù)。而一旦很多服務(wù)構(gòu)成集群的時(shí)候,我們需要 Nginx 具備反向代理功能,可以把動(dòng)態(tài)請(qǐng)求傳遞給應(yīng)用服務(wù)。

    而當(dāng)應(yīng)用服務(wù)構(gòu)成集群,一定會(huì)帶來(lái)兩個(gè)需求:

  • 需要?jiǎng)討B(tài)的擴(kuò)容
  • 有些服務(wù)出現(xiàn)問(wèn)題的時(shí)候我們需要做容災(zāi)
  • 這樣反向代理必須具備負(fù)載均衡功能。

    其次在這樣的一個(gè)鏈路中, Nginx 是處在企業(yè)內(nèi)網(wǎng)的一個(gè)邊緣節(jié)點(diǎn),隨著網(wǎng)絡(luò)鏈路的增長(zhǎng),用戶體驗(yàn)到的時(shí)延會(huì)增加,所以需要把用戶看起來(lái)不變的或者在一段時(shí)間內(nèi)看起來(lái)不變的動(dòng)態(tài)內(nèi)容緩存在 Nginx 部分,由 Nginx 直接向用戶提供訪問(wèn),這樣用戶時(shí)延就會(huì)減少很多。所以反向代理延伸出另外一個(gè)功能就是緩存,來(lái)減少用戶訪問(wèn)的時(shí)延。

    像很多 css、js、img 靜態(tài)資源,是沒(méi)有必要通過(guò)應(yīng)用服務(wù)來(lái)訪問(wèn)的,只需要本地文件系統(tǒng)上放置的靜態(tài)資源,直接由 Nginx 提供訪問(wèn)就可以了。這是 Nginx 的靜態(tài)資源服務(wù)。

    應(yīng)用服務(wù)本身的性能存在很多問(wèn)題,像數(shù)據(jù)庫(kù)服務(wù)比應(yīng)用服務(wù)好的多,因?yàn)闃I(yè)務(wù)場(chǎng)景比較簡(jiǎn)單,并發(fā)性能和tps都要遠(yuǎn)高于應(yīng)用服務(wù),所以延伸出第三個(gè)應(yīng)用場(chǎng)景:由 Nginx 直接去訪問(wèn)數(shù)據(jù)庫(kù)、Redis,利用 Nginx 強(qiáng)大的并發(fā)性能實(shí)現(xiàn)如 web防火墻 復(fù)雜的一些業(yè)務(wù)功能。這就需要api服務(wù)有很強(qiáng)的業(yè)務(wù)處理功能,所以像 OpenResty、 Nginx 集成的 JavaScript,應(yīng)用 JavaScript、lua 這樣的語(yǔ)言功能和它們語(yǔ)言自帶的一些工具庫(kù)來(lái)提供完整的 API服務(wù)。

    為什么會(huì)出現(xiàn) Nginx?

    伴隨著互聯(lián)網(wǎng)的快速普及、以及全球化和物聯(lián)網(wǎng)的快速發(fā)展,導(dǎo)致互聯(lián)網(wǎng)的數(shù)據(jù)量快速增長(zhǎng)。

    CPU 核數(shù)從當(dāng)初的單核發(fā)展到 16 核,甚至 32 核,但是由于操作系統(tǒng)和大量的軟件沒(méi)有做好服務(wù)于多核架構(gòu)的準(zhǔn)備,致使服務(wù)的性能通常不會(huì)有成倍的提升。

    Apache 的架構(gòu)模型一個(gè)進(jìn)程同一時(shí)間只會(huì)處理一個(gè)鏈接一個(gè)請(qǐng)求,處理完以后才會(huì)處理下一個(gè)請(qǐng)求。它實(shí)際上在使用操作系統(tǒng)的進(jìn)程間切換的特性,因?yàn)椴僮飨到y(tǒng)微觀上只有有限的 CPU,但是操作系統(tǒng)被設(shè)計(jì)為同時(shí)服務(wù)數(shù)百甚至上千的進(jìn)程,而 Apache 一個(gè)進(jìn)程只能服務(wù)于一個(gè)鏈接,這樣的模式會(huì)導(dǎo)致當(dāng) Apache 需要面對(duì)幾十萬(wàn)、幾百萬(wàn)鏈接的時(shí)候,它沒(méi)有辦法去開(kāi)幾十萬(wàn)、幾百萬(wàn)的進(jìn)程;而進(jìn)程間切換的代價(jià)成本又太高了,當(dāng)并發(fā)的連接數(shù)越多,這種無(wú)謂的進(jìn)程間切換引發(fā)的性能消耗也就越大,而 Nginx 是專(zhuān)門(mén)為了這樣的應(yīng)用場(chǎng)景而生的,Nginx 可以處理數(shù)百萬(wàn)甚至上千萬(wàn)的并發(fā)鏈接。

    Nginx 優(yōu)點(diǎn)

    一、高并發(fā),高性能

    只要我們對(duì)每個(gè)鏈接使用的內(nèi)存足夠少就能實(shí)現(xiàn)高并發(fā);既要達(dá)到高并發(fā)又要達(dá)到高性能,往往需要很好的設(shè)計(jì)。

    比如現(xiàn)在的主流云服務(wù)器,nginx 在 32 核 64G 的配置中可以輕松達(dá)到數(shù)千萬(wàn)的并發(fā)鏈接;如果是處理簡(jiǎn)單的靜態(tài)資源請(qǐng)求,nginx 可以達(dá)到 100w 的 RPS 。

    RPS(Requests Per Second)為每秒能處理的請(qǐng)求數(shù)目,等效于 QPS(Queries Per Second),也就是每秒能處理查詢數(shù)目。是一臺(tái)服務(wù)器每秒能夠相應(yīng)的查詢次數(shù),是對(duì)一個(gè)特定的查詢服務(wù)器在規(guī)定時(shí)間內(nèi)所處理流量多少的衡量標(biāo)準(zhǔn)。

    二、可擴(kuò)展性好

    可擴(kuò)展性主要體現(xiàn)在模塊化設(shè)計(jì);模塊化設(shè)計(jì)非常穩(wěn)定,使得 Nginx 的生態(tài)圈、第三方模塊非常豐富。甚至于有 Tengine、OpenResty 這樣的第三方插件在他的基礎(chǔ)之上又生成了新的生態(tài)圈。豐富的生態(tài)圈和第三方模塊為 Nginx 的豐富功能提供了保證。

    三、高可靠性

    高可靠性指的是 Nginx 可以服務(wù)器上持續(xù)不間斷的運(yùn)行數(shù)年,而很多web服務(wù)器往往運(yùn)行幾周or幾個(gè)月,就需要進(jìn)行一次重啟。對(duì)于 Nginx 這樣一個(gè)高并發(fā)、高性能的反向代理服務(wù)器而言,往往運(yùn)行在企業(yè)內(nèi)網(wǎng)的邊緣節(jié)點(diǎn)上,這個(gè)時(shí)候如果我們企業(yè)想提供4個(gè)9、5個(gè)9、甚至更高的高可用性時(shí),對(duì)于 Nginx 持續(xù)運(yùn)行能夠宕機(jī)的時(shí)間一年可能只能以秒來(lái)計(jì),所以在這樣一個(gè)角色中,Nginx 的高可靠性給我們提供了非常好的保證。

    四、熱部署

    熱部署是指在不停止服務(wù)的情況下升級(jí)Nginx。這個(gè)功能對(duì)于 Nginx 來(lái)說(shuō)非常重要,因?yàn)樵诜?wù)器上跑了數(shù)百萬(wàn)的并發(fā)鏈接,如果是普通的服務(wù)器,我們只能 kill 掉進(jìn)程再重啟的方式進(jìn)行升級(jí)操作。但是對(duì)于 Nginx 而言,因?yàn)橹苯?kill 掉 nginx 進(jìn)程會(huì)給所有的已經(jīng)建立鏈接的客戶端一個(gè)很不好的體驗(yàn)。

    五、BSD 許可證

    BSD許可證是指 Nginx 不只是開(kāi)源的、免費(fèi)的,而且我們可以在有定制需求的場(chǎng)景下,去修改 Nginx 的源碼,再運(yùn)行在我們的商業(yè)場(chǎng)景下且屬于合法的。

    Nginx 組成

    Nginx 主要由以下 4 部分組成:

    • Nginx 二進(jìn)制可執(zhí)行文件:由各模塊源碼編譯出的一個(gè)文件
    • Nginx.conf 配置文件:控制 Nginx 行為
    • access.log 訪問(wèn)日志:記錄每一條 http 請(qǐng)求信息
    • error.log 錯(cuò)誤日志:定位問(wèn)題

    接下來(lái),我們就要?jiǎng)邮秩ゾ幾g Nginx 了。

    編譯 Nginx

    在 configure 過(guò)程中可能遇到的問(wèn)題:

    出錯(cuò)的原因是 Nginx 模塊需要依賴一些 lib 庫(kù),解決辦法如下:

    Nginx 配置

    Nginx 配置語(yǔ)法

    Nginx 配置參數(shù)

    配置參數(shù):時(shí)間的單位

    配置參數(shù):空間的單位

    http 配置的指令塊

    • http:表示里面所有的指令都是由 http 模塊去解析去執(zhí)行的
    • server:解析對(duì)應(yīng)的域名or一組域名
    • location:url 表達(dá)式
    • upstream:表示上游服務(wù),需要與企業(yè)內(nèi)網(wǎng)服務(wù)直連的時(shí)候,可以定義一個(gè) upstream

    示例

    示例中的所有指令都是由 Nginx 中的 http 模塊去執(zhí)行的,其中 server 127.0.0.1:8000 為需要解析的域名,location 后面跟的為對(duì)應(yīng)的匹配規(guī)則,expires 3m表示 3 分鐘后 cache 刷新,zone=one:10m表示開(kāi)辟了一個(gè) 10m 大小的共享內(nèi)存空間,給不同的 worker 去使用。

    總結(jié)

    這篇文章主要介紹了 Nginx 出現(xiàn)的原因和使用場(chǎng)景,并分析 Nginx 的優(yōu)點(diǎn),最后動(dòng)手去編譯屬于自己的 Nginx,并進(jìn)行簡(jiǎn)單配置。

    總結(jié)

    以上是生活随笔為你收集整理的nginx文件系统大小_Nginx 了解一下?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。