{eval=Array;=+count(Array);}

成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

問答專欄Q & A COLUMN

Nginx到底能做什么?

jemygrawjemygraw 回答5 收藏1
問題描述:能全面說說Nginx到底能做什么嗎?
收藏問題

5條回答

beanlam

beanlam

回答于2022-06-23 13:21

nginx可以作為web服務(wù)器、緩存服務(wù)器、HTTP代理服務(wù)器、負(fù)載均衡服務(wù)器。


什么是nginx

Nginx(發(fā)音為“ engine-x”)是一種開源軟件,最初被設(shè)計為高性能Web服務(wù)器。今天,Nginx可以完成其他一些任務(wù),包括緩存服務(wù)器,反向代理服務(wù)器,負(fù)載平衡器等等



web服務(wù)器

目前主流使用的web服務(wù)器軟件,主要有apache、nginx、tomcat、iis等,在全球范圍內(nèi)來說,Apache是現(xiàn)有的最流行的Web服務(wù)器,但是在高流量網(wǎng)站中最流行的Web服務(wù)器確實nginx,在我國不管是大中小互聯(lián)網(wǎng)公司,主流選擇的也是nginx作為web服務(wù)器軟件。一份來自Netcraft的調(diào)查中,發(fā)現(xiàn)Apache的使用率為31.54%,Nginx的使用率為26.20%。



HTTP代理服務(wù)器

HTTP代理,分兩類:一種的正向代理,一種是反向代理。

  • 反向代理。就是真實服務(wù)器不直接訪問,而是通過代理進(jìn)行訪問,代理服務(wù)器和真實服務(wù)器是在同一個網(wǎng)絡(luò)環(huán)境。對于訪問來說是無感的,代理服務(wù)器對于訪問者來說就是提供服務(wù)的服務(wù)器。基于nginx的反向代理,可以實現(xiàn)分布式(不同子域名訪問不同的服務(wù)后端節(jié)點)和負(fù)載均衡(相同的域名訪問多個相同的后端節(jié)點)




  • 正向代理。與反向代理類似。不同的是正向代理是客戶端的代理。對于服務(wù)端來說,代理就是一個訪問者。網(wǎng)上尋找的HTTP代理就屬于正向代理



反向代理和正向代理的區(qū)別:

正向代理:針對客戶端而言,代理服務(wù)器代理客戶端,轉(zhuǎn)發(fā)請求,并將獲得的內(nèi)容返回給客戶端。

反向代理:針對客戶端而言,代理服務(wù)器就像是原始服務(wù)器,代理集群的web節(jié)點服務(wù)器返回結(jié)果。


負(fù)載均衡器

負(fù)載均衡也是Nginx常用的一個功能,基于nginx反向代理。負(fù)載均衡其意思就是分?jǐn)偟蕉鄠€操作單元上進(jìn)行執(zhí)行,例如Web服務(wù)器、FTP服務(wù)器、企業(yè)關(guān)鍵應(yīng)用服務(wù)器和其它關(guān)鍵任務(wù)服務(wù)器等,從而共同完成工作任務(wù)。


簡單而言就是當(dāng)有2臺或以上服務(wù)器時,根據(jù)規(guī)則隨機(jī)的將請求分發(fā)到指定的服務(wù)器上處理,負(fù)載均衡配置一般都需要同時配置反向代理,通過反向代理跳轉(zhuǎn)到負(fù)載均衡。


Nginx目前支持自帶3種負(fù)載均衡策略(輪詢、加權(quán)輪詢、IP哈希),還有2種常用的第三方策略(fair、url哈希)。




緩存服務(wù)器

nginx可以實現(xiàn)圖片、css、js等靜態(tài)資源文件的緩存,nginx作為緩存服務(wù)器時是搭配nginx作為反向代理服務(wù)器一起使用的。當(dāng)客戶端第一次通過nginx向后端資源服務(wù)器請求靜態(tài)資源,響應(yīng)給對應(yīng)的客戶端同時自身緩存一份,后續(xù)如果請求相同的資源,就不需要再次向后端服務(wù)器請求了,除非緩存被清理或者緩存過期。





結(jié)束語

nginx的幾個功能很少單一使用,基本都是幾個功能搭配混合在一起使用。做實際項目中,nginx一般作為七層負(fù)載均衡器,實現(xiàn)分布式架構(gòu)和應(yīng)用服務(wù)器高可用,還可以實現(xiàn)動靜分離,同時緩存靜態(tài)資源,減輕后端服務(wù)器負(fù)載。


由于nginx的模塊化設(shè)計,通過第三方模塊,還可以實現(xiàn)其他一些功能,以上都是nginx自帶模塊實現(xiàn)的,如果你還知道nginx可以實現(xiàn)哪些功能,歡迎在評論區(qū)留言!


文|技術(shù)猿小黃

圖|來源于網(wǎng)絡(luò)

我是技術(shù)猿小黃,很高興為您回答,如果您喜歡我的回答,可以關(guān)注我,點個贊,謝謝!

評論0 贊同0
  •  加載中...
lauren_liuling

lauren_liuling

回答于2022-06-23 13:21

Nginx是一款高性能的HTTP和反向代理服務(wù)器,同時也支持郵件服務(wù)。因其內(nèi)存占用小、高并發(fā)的特性使得在世界范圍內(nèi)使用廣泛,像國內(nèi)互聯(lián)網(wǎng)大企業(yè)無一例外使用的就是Nginx,比如淘寶還基于Nginx開發(fā)了Tengine。

既然Nginx應(yīng)用這么廣泛,那它到底能干些啥呢?下面我列舉一些場景來說明下Nginx的用途:

1、反向代理

在LNMP這種架構(gòu)模式下,其實就用到了反向代理。因為Nginx它默認(rèn)只支持靜態(tài)資源的請求,比如說PHP腳本也不是由Nginx直接解析的,而是由Nginx反向代理(通過 proxy_pass 指令)到PHP-FPM去解析的。

所以我們通常在Apache、Tomcat、IIS之前加上Nginx,由Nginx反向代理到后端服務(wù)器上。

2、負(fù)載均衡

當(dāng)我們的站點訪問量大時,為了緩解單一應(yīng)用服務(wù)器的壓力我們通常會擴(kuò)容多臺服務(wù)器,此時如何把流量分發(fā)給不同服務(wù)器呢?通過Nginx就可以實現(xiàn)負(fù)載均衡了,Nginx負(fù)載均衡策略也很多,主要有:RR(輪詢)、weight(權(quán)重)、ip_hash(IP Hash)、fair(后端服務(wù)器響應(yīng)時間)、url_hash(URL Hash)這幾種。

3、動靜分離

Nginx本身只支持靜態(tài)資源的處理,借助Nginx我們可以實現(xiàn)動靜分離,即:將靜態(tài)請求交給Nginx處理,將動態(tài)請求通過轉(zhuǎn)發(fā)給后端服務(wù)器。

4、Nginx擴(kuò)展

通過Nginx擴(kuò)展可以實現(xiàn)很多功能,如:

  • 圖片在線裁剪;

  • 請求合并;

  • 資源壓縮等。


以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區(qū)交流 ~ 我是科技領(lǐng)域創(chuàng)作者,十年互聯(lián)網(wǎng)從業(yè)經(jīng)驗,歡迎關(guān)注我了解更多科技知識!

評論0 贊同0
  •  加載中...
jay_tian

jay_tian

回答于2022-06-23 13:21

Nginx(發(fā)音同engine x)是一個高性能、跨平臺的HTTP Server,也可以用作反向代理、負(fù)載均衡和HTTP緩存服務(wù)器。俄羅斯人Igor Sysoev(伊戈爾·賽索耶夫)在2004年開發(fā)的,Nginx是免費的開源軟件,根據(jù)類BSD許可證的條款發(fā)布。目前全球約有50%的網(wǎng)站都是用Nginx做Web服務(wù)器。

Nginx的優(yōu)點

1、開源免費

  • Nginx完全開源免費,可以輕松搭建HTTP服務(wù)。

  • 相對傳統(tǒng)收費的負(fù)載均衡器F5,用Nginx搭建負(fù)載均衡服務(wù)成本比較低。

2、高性能

  • Nginx是基于C語言開發(fā),在執(zhí)行效率很高。

  • Nginx是基于Master/Worker進(jìn)程架構(gòu),Master進(jìn)程管理多個Worker進(jìn)程,開啟多個Worker進(jìn)程并發(fā)處理請求,使用CPU親和性,充分發(fā)揮多核CPU的性能。
  • 基于事件驅(qū)動處理大量并發(fā)請求,解決C10k問題。

3、占用資源少

  • Ngxin在設(shè)計和開發(fā)時對占用內(nèi)存做了大量的優(yōu)化,1w多個非活躍的HTTP Keep-Alive連接在Nginx中僅消耗2.5MB的內(nèi)存。

4、跨平臺

  • Nginx可以在在Linux、MacOS、Windows等平臺編譯部署。

5、模塊化擴(kuò)展

  • Nginx是高度模塊化設(shè)計,可以根據(jù)抽象的模塊接口開發(fā)定制相應(yīng)的模塊,以滿足業(yè)務(wù)需求,淘寶的Tengine就是基于Nginx開發(fā)定制的,淘寶開發(fā)很多有用的模塊。

Nginx的用途

1、Web服務(wù)器

  • Nginx可以搭建Web服務(wù)器,由于在性能優(yōu)于Apache,因此很多公司逐漸用Nginx替換Apache。

  • Nginx支持Lua,大牛章亦春基于Nginx與Lua開發(fā)高性能Web平臺OpenResty,其內(nèi)部集成了大量精良的 Lua 庫、第三方模塊以及大多數(shù)的依賴項。用于方便地搭建能夠處理超高并發(fā)、擴(kuò)展性極高的動態(tài) Web 應(yīng)用、Web 服務(wù)和動態(tài)網(wǎng)關(guān)。

2、反向代理

  • 目前很多后端應(yīng)用服務(wù)在部署時都是通過Nginx搭建反向代理,首先client端請求到Nginx的反向代理,然后再轉(zhuǎn)發(fā)到后端應(yīng)用服務(wù)上,這樣可以很好保護(hù)后端應(yīng)用服務(wù)。

3、負(fù)載均衡

  • 目前互聯(lián)網(wǎng)用戶成倍增長,單臺服務(wù)不足以應(yīng)對海量用戶的請求,需要部署多臺后端應(yīng)用服務(wù),因此需要負(fù)載均衡器將請求負(fù)載到不同后端應(yīng)用服務(wù)上,實現(xiàn)分布式集群。以前都是硬負(fù)載均衡器F5,但是F5成本比較高,小公司很難承受起,再者F5功能比較固化,不夠靈活,因此Nginx做軟負(fù)載均衡器就比較流行。

  • 在一線互聯(lián)網(wǎng)公司,例如BAT公司,他們都有統(tǒng)一接入服務(wù),對互聯(lián)網(wǎng)上的請求統(tǒng)一分發(fā),這個統(tǒng)一接入服務(wù)一般都是用Nginx搭建的。

4、HTTP緩存服務(wù)

  • Nginx支持緩存,可以將緩存圖片、js、css等,現(xiàn)在很多CDN廠商的CDN緩存都是用的Nginx緩存。

隨著互聯(lián)網(wǎng)的迅猛發(fā)展和互聯(lián)網(wǎng)用戶數(shù)量的成倍增長,互聯(lián)網(wǎng)公司都需要應(yīng)付海量并發(fā)請求,Nginx開源免費、高性能等特點會越來越受青睞。

評論0 贊同0
  •  加載中...
joyqi

joyqi

回答于2022-06-23 13:21

Nginx能做反向代理、負(fù)載均衡、HTTP服務(wù)器、正向代理和Web緩存等。

Nginx

Nginx是lgor Sysoev為俄羅斯訪問量第二的rambler.ru站點設(shè)計開發(fā)的。從2004年發(fā)布至今,憑借開源的力量,已經(jīng)接近成熟與完善。

Nginx功能豐富,可作為HTTP服務(wù)器,也可作為反向代理服務(wù)器,郵件服務(wù)器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模塊擴(kuò)展。

常用功能

  • 反向代理,代理對象為服務(wù)端做代理,使客戶端不需要感知服務(wù)端的存在,只需要訪問代理服務(wù)器便可獲得想要的結(jié)果。實現(xiàn)限流、負(fù)載均衡、動靜分離等。



  • 負(fù)載均衡(Load Balance),是分布式系統(tǒng)中一個非常重要的概念。當(dāng)訪問的服務(wù)具有多個實例節(jié)點時,需要根據(jù)某種“均衡”的策略決定請求發(fā)往哪個節(jié)點,這個過程就是所謂的負(fù)載均衡。多在高并發(fā)情況下需要使用。其原理就是將數(shù)據(jù)流量分?jǐn)偟蕉鄠€服務(wù)器執(zhí)行,減輕每臺服務(wù)器的壓力,多臺服務(wù)器(集群)共同完成工作任務(wù),從而提高了數(shù)據(jù)的吞吐量。Nginx是一個輕量級、高性能、穩(wěn)定性高、并發(fā)性好的HTTP和反向代理服務(wù)器。
  • web緩存,Nginx可以對不同的文件做不同的緩存處理,配置靈活,并且支持FastCGI_Cache,主要用于對FastCGI的動態(tài)程序進(jìn)行緩存。配合著第三方的ngx_cache_purge,對制定的URL緩存內(nèi)容可以的進(jìn)行增刪管理。
  • 動靜分離:讓動態(tài)網(wǎng)站里的動態(tài)網(wǎng)頁根據(jù)一定規(guī)則把不變的資源和經(jīng)常變的資源區(qū)分開來,動靜資源做好了拆分以后,我們就可以根據(jù)靜態(tài)資源的特點將其做緩存操作。提高用戶訪問靜態(tài)代碼的速度,降低對后臺應(yīng)用訪問。

如果解決了你的疑惑,請點點關(guān)注和評論,謝謝支持。

正春華枝俏,待秋實果茂,與君共勉。


評論0 贊同0
  •  加載中...
xuexiangjys

xuexiangjys

回答于2022-06-23 13:21

Nginx 概述

  • NGINX是一個免費、開源、高性能、輕量級的HTTP和反向代理服務(wù)器,也是一個電子郵件(IMAP/POP3)代理服務(wù)器,其特點是占有內(nèi)存少,并發(fā)能力強(qiáng)。 Nginx 因為它的穩(wěn)定性、豐富的模塊庫、靈活的配置和較低的資源消耗而聞名 。目前應(yīng)該是幾乎所有項目建設(shè)必備。

  • Nginx由內(nèi)核和一系列模塊組成,內(nèi)核提供web服務(wù)的基本功能,如啟用網(wǎng)絡(luò)協(xié)議,創(chuàng)建運(yùn)行環(huán)境,接收和分配客戶端請求,處理模塊之間的交互。Nginx的各種功能和操作都由模塊來實現(xiàn)。Nginx的模塊從結(jié)構(gòu)上分為核心模塊、基礎(chǔ)模塊和第三方模塊。

    核心模塊: HTTP模塊、EVENT模塊和MAIL模塊

    基礎(chǔ)模塊: HTTP Access模塊、HTTP FastCGI模塊、HTTP Proxy模塊和HTTP Rewrite模塊

    第三方模塊: HTTP Upstream Request Hash模塊、Notice模塊和HTTP Access Key模塊及用戶自己開發(fā)的模塊

    這樣的設(shè)計使Nginx方便開發(fā)和擴(kuò)展,也正因此才使得Nginx功能如此強(qiáng)大。Nginx的模塊默認(rèn)編譯進(jìn)nginx中,如果需要增加或刪除模塊,需要重新編譯Nginx,這一點不如Apache的動態(tài)加載模塊方便。如果有需要動態(tài)加載模塊,可以使用由淘寶網(wǎng)發(fā)起的web服務(wù)器Tengine,在nginx的基礎(chǔ)上增加了很多高級特性,完全兼容Nginx,已被國內(nèi)很多網(wǎng)站采用。

  • Nginx有很多擴(kuò)展版本

    • 開源版 nginx.org
    • 商業(yè)版 NGINX Plus
    • 淘寶網(wǎng)發(fā)起的Web服務(wù)器 Tengine
    • 基于Nginx和Lua的Web平臺 OpenResty


Nginx 作為 web 服務(wù)器

Web服務(wù)器也稱為WWW(WORLD WIDE WEB)服務(wù)器,主要功能是提供網(wǎng)上信息瀏覽服務(wù),常常以B/S(Browser/Server)方式提供服務(wù)。

  • 應(yīng)用層使用HTTP協(xié)議。
  • HTML文檔格式。
  • 瀏覽器統(tǒng)一資源定位器(URL)。

Nginx 可以作為靜態(tài)頁面的 web 服務(wù)器,同時還支持 CGI 協(xié)議的動態(tài)語言,比如 perl、php 等,但是不支持 java。Java 程序一般都通過與 Tomcat 配合完成。

作為一名Java猿帥,肯定要理解下Nginx和Tomcat的區(qū)別了:

Nginx、Apache和Tomcat

  • Nginx—— 由俄羅斯程序員Igor Sysoev所開發(fā)的輕量級、高并發(fā)HTTP服務(wù)器;

  • Apache HTTP Server Project,一個Apache基金會下的HTTP服務(wù)項目,和Nginx功能類似;

  • Apache Tomcat ,則是Apache基金會下的另外一個項目,是一個Application Server,更準(zhǔn)確的說是一個

    servlet應(yīng)用容器,與Apache HTTP Server和Nginx相比,Tomcat能夠動態(tài)的生成資源并返回到客戶端;

Apache HTTP Server和Nginx本身不支持生成動態(tài)頁面,但它們可以通過其他模塊來支持(例如通過Shell、PHP、Python腳本程序來動態(tài)生成內(nèi)容);

一個 HTTP Server 關(guān)心的是 HTTP 協(xié)議層面的傳輸和訪問控制,所以在 Apache/Nginx 上你可以看到代理、負(fù)載均衡等功能。客戶端通過 HTTP Server 訪問服務(wù)器上存儲的資源(HTML 文件、圖片文件等等)。通過 CGI 技術(shù),也可以將處理過的內(nèi)容通過 HTTP Server 分發(fā),但是一個 HTTP Server 始終只是把服務(wù)器上的文件如實的通過 HTTP 協(xié)議傳輸給客戶端。

而應(yīng)用服務(wù)器,則是一個應(yīng)用執(zhí)行的容器。它首先需要支持開發(fā)語言的運(yùn)行(對于 Tomcat 來說,就是 Java),保證應(yīng)用能夠在應(yīng)用服務(wù)器上正常運(yùn)行。其次,需要支持應(yīng)用相關(guān)的規(guī)范,例如類庫、安全方面的特性。對于 Tomcat 來說,就是需要提供 JSP/Sevlet 運(yùn)行需要的標(biāo)準(zhǔn)類庫、Interface 等。為了方便,應(yīng)用服務(wù)器往往也會集成 HTTP Server 的功能,但是不如專業(yè)的 HTTP Server 那么強(qiáng)大,所以應(yīng)用服務(wù)器往往是運(yùn)行在 HTTP Server 的背后,執(zhí)行應(yīng)用,將動態(tài)的內(nèi)容轉(zhuǎn)化為靜態(tài)的內(nèi)容之后,通過 HTTP Server 分發(fā)到客戶端。

正向代理

正向代理:如果把局域網(wǎng)外的 Internet 想象成一個巨大的資源庫,則局域網(wǎng)中的客戶端要訪 問 Internet,則需要通過代理服務(wù)器來訪問,這種代理服務(wù)就稱為正向代理。

正向代理“代理”的是客戶端。

比如在家辦公期間,需要連公司的 VPN 辦公,這個就是所謂的”正向代理“。還有我們訪問 google也是。

反向代理 與 負(fù)載均衡

反向代理正好與正向代理相反,反向代理是指以代理服務(wù)器來接收Internet上的連接請求,然后將請求轉(zhuǎn)發(fā)到內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將服務(wù)器上得到的結(jié)果返回給客戶端,此時代理服務(wù)器對外表現(xiàn)就是一個服務(wù)器,客戶端對代理是無感知的。

反向代理“代理”的是服務(wù)端

再比如,你想本本分分的在“優(yōu)酷”上看個“愛情片”,youku.com會把你的請求分發(fā)到存放片片的那臺機(jī)器上,這個就是所謂的”反向代理“。

為什么使用反向代理

  • 保護(hù)和隱藏原始資源服務(wù)器
  • 加密和SSL加速
  • 通過緩存靜態(tài)資源,加速Web請求
  • 實現(xiàn)負(fù)載均衡

負(fù)載均衡地址重定向

Nginx 的Rewrite主要的功能就是實現(xiàn)URL重寫

比如輸入360.com 跳轉(zhuǎn)到了#,baidu.cn跳轉(zhuǎn)到了baidu.com

動靜分離

為了加快網(wǎng)站的解析速度,可以把動態(tài)頁面和靜態(tài)頁面由不同的服務(wù)器來解析,加快解析速度,降低原來單個服務(wù)器的壓力。 這里指的就是讓動態(tài)程序(Java、PHP)去訪問應(yīng)用服務(wù)器,讓緩存、圖片、JS、CSS等去訪問Nginx。

2. Nginx 安裝

  1. 下載Nginx

  2. 安裝需要編譯的插件

  • 用于編譯c、c++代碼的GCC;

  • 用c語言編寫的正則表達(dá)式函數(shù)庫Pcre(使用rewrite模塊);

  • 用于數(shù)據(jù)壓縮的函式庫的Zlib;

  • 安全套接字層密碼庫OpenSSL(啟用SSL支持)

  • 解壓、配置(Nginx支持各種配置選項,文末一一列出 Nginx配置選項 )、編譯、安裝nginx

  • 啟動、重啟、關(guān)閉

  • 驗證(瀏覽器輸入ip)

  • 評論0 贊同0
    •  加載中...

    相關(guān)問題

    您已邀請0人回答 查看邀請

    我的邀請列表

    • 擅長該話題
    • 回答過該話題
    • 我關(guān)注的人
    向幫助了您的網(wǎng)友說句感謝的話吧!
    付費偷看金額在0.1-10元之間
    <