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

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

Nginx到底能做什么?

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

5條回答

beanlam

beanlam

回答于2022-06-23 13:21

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


什么是nginx

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



web服務器

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



HTTP代理服務器

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

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




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



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

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

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


負載均衡器

負載均衡也是Nginx常用的一個功能,基于nginx反向代理。負載均衡其意思就是分攤到多個操作單元上進行執(zhí)行,例如Web服務器、FTP服務器、企業(yè)關鍵應用服務器和其它關鍵任務服務器等,從而共同完成工作任務。


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


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




緩存服務器

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





結束語

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


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


文|技術猿小黃

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

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

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

lauren_liuling

回答于2022-06-23 13:21

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

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

1、反向代理

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

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

2、負載均衡

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

3、動靜分離

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

4、Nginx擴展

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

  • 圖片在線裁剪;

  • 請求合并;

  • 資源壓縮等。


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

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

jay_tian

回答于2022-06-23 13:21

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

Nginx的優(yōu)點

1、開源免費

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

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

2、高性能

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

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

3、占用資源少

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

4、跨平臺

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

5、模塊化擴展

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

Nginx的用途

1、Web服務器

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

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

2、反向代理

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

3、負載均衡

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

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

4、HTTP緩存服務

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

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

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

joyqi

回答于2022-06-23 13:21

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

Nginx

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

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

常用功能

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



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

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

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


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

xuexiangjys

回答于2022-06-23 13:21

Nginx 概述

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

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

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

    基礎模塊: HTTP Access模塊、HTTP FastCGI模塊、HTTP Proxy模塊和HTTP Rewrite模塊

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

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

  • Nginx有很多擴展版本

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


Nginx 作為 web 服務器

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

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

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

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

Nginx、Apache和Tomcat

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

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

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

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

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

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

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

正向代理

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

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

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

反向代理 與 負載均衡

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

反向代理“代理”的是服務端

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

為什么使用反向代理

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

負載均衡地址重定向

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

比如輸入360.com 跳轉到了360.cn,baidu.cn跳轉到了baidu.com

動靜分離

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

2. Nginx 安裝

  1. 下載Nginx

  2. 安裝需要編譯的插件

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

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

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

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

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

  • 啟動、重啟、關閉

  • 驗證(瀏覽器輸入ip)

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

    相關問題

    最新活動

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

    我的邀請列表

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