亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

Nginx 現(xiàn)在幾乎是眾多大型網(wǎng)站的必用技術(shù),大家應(yīng)該都知道 Nginx 被 F5 收購的大事件,章亦春也在專心維護(hù) OpenResty 項(xiàng)目構(gòu)建和諧家園,無論你選擇 Nginx 還是 OpenResty,都需要對(duì) Nginx 有一個(gè)比較全面的了解,日后才能做到事半功倍。本文以開發(fā)者必備的 Nginx 基礎(chǔ)知識(shí)為主,在參考文章中羅列了目前比較優(yōu)秀的 Nginx 和 OpenResty 參考教程,希望對(duì)大家有幫助。


Nginx 基礎(chǔ)知識(shí)

Nginx 是什么?

Nginx 是一個(gè) web 服務(wù)器,主要處理客戶端和服務(wù)器的請(qǐng)求分發(fā)。

特點(diǎn)和優(yōu)勢

  1. 高并發(fā)
  2. 熱部署
  3. 低功耗
  4. 熱部署

使用和擴(kuò)展

開源免費(fèi)的 Nginx 與商業(yè)版 Nginx Plus,與之對(duì)應(yīng)的是免費(fèi) OpenResty 與商業(yè)版 OpenResty

  • 開源版 nginx.org
  • 商業(yè)版 NGINX Plus
  • 阿里巴巴 Tengine
  • 開源版 OpenResty
  • 商業(yè)版 OpenResty

陶輝《深入理解 Nginx》作者在極客時(shí)間上的講義 PDF 已經(jīng)介紹的非常詳細(xì)了,如果覺得課程不錯(cuò)可以選擇購買盡量少走彎路

極客時(shí)間:nginx 核心知識(shí) 100 講配置文件與代碼分享

nginx 正向代理與反向代理

為了便于理解,首先先來了解一下一些基礎(chǔ)知識(shí),nginx 是一個(gè)高性能的反向代理服務(wù)器那么什么是反向代理呢?

代理是在服務(wù)器和客戶端之間假設(shè)的一層服務(wù)器,代理將接收客戶端的請(qǐng)求并將它轉(zhuǎn)發(fā)給服務(wù)器,然后將服務(wù)端的響應(yīng)轉(zhuǎn)發(fā)給客戶端。

不管是正向代理還是反向代理,實(shí)現(xiàn)的都是上面的功能。

如果你對(duì) OSI 七層模型與 TCP/IP 四層模型不是很熟悉可以再回顧下

Nginx基礎(chǔ)知識(shí)從小白到入門

 

正向代理

正向代理(forward)意思是一個(gè)位于客戶端和原始服務(wù)器 (origin server) 之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容,客戶端向代理發(fā)送一個(gè)請(qǐng)求并指定目標(biāo) (原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交請(qǐng)求并將獲得的內(nèi)容返回給客戶端。

正向代理是為我們服務(wù)的,即為客戶端服務(wù)的,客戶端可以根據(jù)正向代理訪問到它本身無法訪問到的服務(wù)器資源。

正向代理對(duì)我們是透明的,對(duì)服務(wù)端是非透明的,即服務(wù)端并不知道自己收到的是來自代理的訪問還是來自真實(shí)客戶端的訪問。

反向代理

反向代理(Reverse Proxy)方式是指以代理服務(wù)器來接受 internet 上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給 internet 上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)反向代理服務(wù)器。

反向代理是為服務(wù)端服務(wù)的,反向代理可以幫助服務(wù)器接收來自客戶端的請(qǐng)求,幫助服務(wù)器做請(qǐng)求轉(zhuǎn)發(fā),負(fù)載均衡等。

反向代理對(duì)服務(wù)端是透明的,對(duì)我們是非透明的,即我們并不知道自己訪問的是代理服務(wù)器,而服務(wù)器知道反向代理在為他服務(wù)。

nginx 基本配置

安裝 nginx 時(shí)通常需要編譯自己需要的模塊,可以使用 rpmbuild 制作 Nginx 的 RPM 包

main # 全局配置

events { # nginx工作模式配置
}

http { # http設(shè)置
 ....

 server { # 服務(wù)器主機(jī)配置
 ....
 location { # 路由配置
 ....
 }

 location path {
 ....
 }

 location otherpath {
 ....
 }
 }

 server {
 ....

 location {
 ....
 }
 }

 upstream name { # 負(fù)載均衡配置
 ....
 }
}

如果想要生成 nginx 規(guī)范配置,可以參考 nginxconfig.io

下面是 nginx 一些配置中常用的內(nèi)置全局變量,你可以在配置的任何位置使用它們。

Nginx基礎(chǔ)知識(shí)從小白到入門

 

變量名 功能 $host 請(qǐng)求信息中的 Host,如果請(qǐng)求中沒有 Host 行,則等于設(shè)置的服務(wù)器名 $request_method 客戶端請(qǐng)求類型,如 GET、POST $remote_addr 客戶端的 IP 地址 $args 請(qǐng)求中的參數(shù) $content_length 請(qǐng)求頭中的 Content-length 字段 $http_user_agent 客戶端 agent 信息 $http_cookie 客戶端 cookie 信息 $remote_addr 客戶端的 IP 地址 $remote_port 客戶端的端口 $server_protocol 請(qǐng)求使用的協(xié)議,如 HTTP/1.0、HTTP/1.1 $server_addr 服務(wù)器地址 $server_name 服務(wù)器名稱 $server_port 服務(wù)器的端口號(hào)

nginx 負(fù)載均衡

Upstream 指定后端服務(wù)器地址列表,在 server 中攔截響應(yīng)請(qǐng)求,并將請(qǐng)求轉(zhuǎn)發(fā)到 Upstream 中配置的服務(wù)器列表。

upstream balanceServer {
 server 10.1.22.33:12345;
 server 10.1.22.34:12345;
 server 10.1.22.35:12345;
}

server {
 server_name fe.server.com;
 listen 80;
 location /api {
 proxy_pass http://balanceServer;
 }
}

上面的配置只是指定了 nginx 需要轉(zhuǎn)發(fā)的服務(wù)端列表,并沒有指定分配策略。

默認(rèn)情況下采用的是輪詢策略,將所有客戶端請(qǐng)求輪詢分配給服務(wù)端。這種策略是可以正常工作的,但是如果其中某一臺(tái)服務(wù)器壓力太大,出現(xiàn)延遲,會(huì)影響所有分配在這臺(tái)服務(wù)器下的用戶。

nginx 常用命令

``` bash

# 快速關(guān)閉Nginx,可能不保存相關(guān)信息,并迅速終止web服務(wù)

nginx -s stop

# 平穩(wěn)關(guān)閉Nginx,保存相關(guān)信息,有安排的結(jié)束web服務(wù)

nginx -s quit

# 因改變了Nginx相關(guān)配置,需要重新加載配置而重載

nginx -s reload

# 重新打開日志文件

nginx -s reopen

# 為 Nginx 指定一個(gè)配置文件,來代替缺省的

nginx -c filename

# 不運(yùn)行,而僅僅測試配置文件。nginx 將檢查配置文件的語法的正確性,并嘗試打開配置文件中所引用到的文件

nginx -t

# 顯示 nginx 的版本

nginx -v

# 顯示 nginx 的版本,編譯器版本和配置參數(shù)

nginx -V

# 格式換顯示 nginx 配置參數(shù)

2>&1 nginx -V | xargs -n1

2>&1 nginx -V | xargs -n1 | grep lua

```

參考文章

以上內(nèi)容只是 nginx 的冰山一角,我個(gè)人推薦大家跟著官方文檔或者類似極客時(shí)間的教程學(xué)習(xí),可以少走很多彎路

nginx documentation

前端開發(fā)者必備的 nginx 知識(shí)

百萬并發(fā)下 Nginx 的優(yōu)化之道

agentzh 的 Nginx 教程

OpenResty 最佳實(shí)踐

以下為極客時(shí)間專欄

Nginx 核心知識(shí) 100 講

極客時(shí)間:nginx 核心知識(shí) 100 講配置文件與代碼分享

OpenResty 從入門到實(shí)戰(zhàn)

分享到:
標(biāo)簽:Nginx
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評(píng)定2018-06-03

通用課目體育訓(xùn)練成績評(píng)定