真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Nginx的作用以及配置方法

這篇文章主要講解了“Nginx的作用以及配置方法”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Nginx的作用以及配置方法”吧!

創(chuàng)新互聯(lián)公司一直通過網(wǎng)站建設(shè)和網(wǎng)站營銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實效"的一站式服務(wù),以成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、移動互聯(lián)產(chǎn)品、全網(wǎng)營銷推廣服務(wù)為核心業(yè)務(wù)。十多年網(wǎng)站制作的經(jīng)驗,使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標(biāo)準(zhǔn)網(wǎng)站,不但價格便宜而且實用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡單易用,維護(hù)方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。

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

  1. Nginx 適用于哪些場景?

  2. 為什么會出現(xiàn) Nginx?

  3. Nginx 優(yōu)點

  4. Nginx 的編譯與配置

Nginx 適用于哪些場景?

Nginx的作用以及配置方法

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

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

  1. 需要動態(tài)的擴(kuò)容

  2. 有些服務(wù)出現(xiàn)問題的時候我們需要做容災(zāi)

這樣反向代理必須具備負(fù)載均衡功能。

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

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

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

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

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

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

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

Nginx 優(yōu)點

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

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

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

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

二、可擴(kuò)展性好

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

三、高可靠性

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

四、熱部署

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

五、BSD 許可證

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

Nginx 組成

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

  • Nginx 二進(jìn)制可執(zhí)行文件:由各模塊源碼編譯出的一個文件

  • Nginx.conf 配置文件:控制 Nginx 行為

  • access.log 訪問日志:記錄每一條 http 請求信息

  • error.log 錯誤日志:定位問題

接下來,我們就要動手去編譯 Nginx 了。

編譯 Nginx

# 下載
wget http://nginx.org/download/nginx-1.14.0.tar.gz
# 解壓
tar -xzvf nginx-1.14.0.tar.gz
cd nginx-1.14.0
# 配置
./configure --prefix=/usr/local/nginx
# 編譯
make
# 安裝
make install

在 configure 過程中可能遇到的問題:

./configure: error: the HTTP rewrite module requires the PCRE library. You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre= option.

./configure: error: the HTTP gzip module requires the zlib library. You can either disable the module by using --without-http_gzip_module option, or install the zlib library into the system, or build the zlib library statically from the source with nginx by using --with-zlib= option.

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

安裝 pcre-devel 和 zlib-devel 依賴庫:yum -y install pcre-devel zlib-devel

Nginx 配置

Nginx 配置語法

Nginx的作用以及配置方法

Nginx 配置參數(shù)

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

Nginx的作用以及配置方法

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

Nginx的作用以及配置方法

http 配置的指令塊

Nginx的作用以及配置方法

  • http:表示里面所有的指令都是由 http 模塊去解析去執(zhí)行的

  • server:解析對應(yīng)的域名or一組域名

  • location:url 表達(dá)式

  • upstream:表示上游服務(wù),需要與企業(yè)內(nèi)網(wǎng)服務(wù)直連的時候,可以定義一個 upstream

示例

Nginx的作用以及配置方法

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

總結(jié)

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

感謝各位的閱讀,以上就是“Nginx的作用以及配置方法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Nginx的作用以及配置方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!


分享名稱:Nginx的作用以及配置方法
文章地址:http://weahome.cn/article/ppggoh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部