OpenResty Nginx 新手起步

2021-08-13 10:51 更新

為什選擇 Nginx

為什么選擇 Nginx?因為它具有以下特點:

1、處理響應(yīng)請求很快

在正常的情況下,單次請求會得到更快的響應(yīng)。在高峰期,Nginx 可以比其它的 Web 服務(wù)器更快的響應(yīng)請求。

2、高并發(fā)連接

在互聯(lián)網(wǎng)快速發(fā)展,互聯(lián)網(wǎng)用戶數(shù)量不斷增加的今天,一些大公司、網(wǎng)站都需要面對高并發(fā)請求,如果有一個能夠在峰值頂住 10 萬以上并發(fā)請求的 Server,肯定會得到大家的青睞。理論上,Nginx 支持的并發(fā)連接上限取決于你的內(nèi)存,10 萬遠(yuǎn)未封頂。

3、低的內(nèi)存消耗

在一般的情況下,10000 個非活躍的 HTTP Keep-Alive 連接在 Nginx 中僅消耗 2.5MB 的內(nèi)存,這也是 Nginx 支持高并發(fā)連接的基礎(chǔ)。

4、具有很高的可靠性:

Nginx 是一個高可靠性的 Web 服務(wù)器,這也是我們?yōu)槭裁催x擇 Nginx 的基本條件,現(xiàn)在很多的網(wǎng)站都在使用 Nginx,足以說明 Nginx 的可靠性。高可靠性來自其核心框架代碼的優(yōu)秀設(shè)計、模塊設(shè)計的簡單性,并且這些模塊都非常的穩(wěn)定。

5、高擴(kuò)展性

Nginx 的設(shè)計極具擴(kuò)展性,它完全是由多個不同功能、不同層次、不同類型且耦合度極低的模塊組成。這種設(shè)計造就了 Nginx 龐大的第三方模塊。

6、熱部署

master 管理進(jìn)程與 worker 工作進(jìn)程的分離設(shè)計,使得 Nginx 具有熱部署的功能,可以在 7 × 24 小時不間斷服務(wù)的前提下,升級 Nginx 的可執(zhí)行文件。也可以在不停止服務(wù)的情況下修改配置文件,更換日志文件等功能。

7、自由的 BSD 許可協(xié)議

BSD 許可協(xié)議不只是允許用戶免費(fèi)使用 Nginx,也允許用戶修改 Nginx 源碼,還允許用戶用于商業(yè)用途。

如何使用 Nginx

Nginx 安裝:

不同系統(tǒng)依賴包可能不同,例如 pcre,zlib,openssl 等。

  1. 獲取 Nginx,在 http://nginx.org/en/download.html 上可以獲取當(dāng)前最新的版本。
  2. 解壓縮 nginx-xx.tar.gz 包。
  3. 進(jìn)入解壓縮目錄,執(zhí)行 ./configure
  4. make & make install

若安裝時找不到上述依賴模塊,使用 --with-openssl=<openssl_dir>、--with-pcre=?<pcre_dir>?、--with-zlib=?<zlib_dir>? 指定依賴的模塊目錄。如已安裝過,此處的路徑為安裝目錄;若未安裝,則此路徑為編譯安裝包路徑,Nginx 將執(zhí)行模塊的默認(rèn)編譯安裝。

啟動 Nginx 之后,瀏覽器中輸入 http://localhost 可以驗證是否安裝啟動成功。


Nginx 配置示例:

安裝完成之后,配置目錄 conf 下有以下配置文件,過濾掉了 xx.default 配置:

ubuntu: /opt/nginx-1.7.7/conf$ tree |grep -v default
.
├── fastcgi.conf
├── fastcgi_params
├── koi-utf
├── koi-win
├── mime.types
├── nginx.conf
├── scgi_params
├── uwsgi_params
└── win-utf

除了 ?nginx.conf?,其余配置文件,一般只需要使用默認(rèn)提供即可。

?nginx.conf? 是主配置文件,默認(rèn)配置去掉注釋之后的內(nèi)容如下圖所示:

worker_process      # 表示工作進(jìn)程的數(shù)量,一般設(shè)置為cpu的核數(shù)

worker_connections  # 表示每個工作進(jìn)程的最大連接數(shù)

server{}            # 塊定義了虛擬主機(jī)

    listen          # 監(jiān)聽端口

    server_name     # 監(jiān)聽域名

    location {}     # 是用來為匹配的 URI 進(jìn)行配置,URI 即語法中的“/uri/”

    location /{}    # 匹配任何查詢,因為所有請求都以 / 開頭

        root        # 指定對應(yīng)uri的資源查找路徑,這里html為相對路徑,完整路徑為
                    # /opt/nginx-1.7.7/html/

        index       # 指定首頁index文件的名稱,可以配置多個,以空格分開。如有多
                    # 個,按配置順序查找。
真實用例


從配置可以看出,Nginx 監(jiān)聽了 80 端口、域名為 localhost、根路徑為 html 文件夾(我的安裝路徑為 /opt/nginx-1.7.7,所以 /opt/nginx-1.7.7/html)、默認(rèn) index 文件為 index.html,index.htm 服務(wù)器錯誤重定向到 50x.html 頁面。

可以看到 /opt/nginx-1.7.7/html/ 有以下文件:

ubuntu:/opt/nginx-1.7.7/html$ ls
50x.html  index.html

這也是上面在瀏覽器中輸入 ?http://localhost?,能夠顯示歡迎頁面的原因。實際上訪問的是 ?/opt/nginx-1.7.7/html/index.html ?文件。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號