實戰Nginx

CopperDong發表於2018-04-12

 http://zyan.cc/book/nginx/code/

1.1 Nginx伺服器的安裝與配置

    http://nginx.org/ 下載穩定版本

1.2 Nginx的基本配置與優化

    /usr/local/webserver/nginx/ngnix.conf

    虛擬主機:特殊的軟硬體技術,它把一臺執行在因特網上的伺服器主機分成一臺臺“虛擬”的主機,每臺虛擬主機都可以是一個獨立的網站,可以具有獨立的域名,具有完整的Internet伺服器功能(WWW、FTP、Email等),同一臺主機上的虛擬主機之間是完全獨立的。

    配置基於域名的虛擬主機

    Nginx的日誌檔案配置與切割:與日誌相關的指令主要有兩條,一條是log_format,用來設定日誌的格式,另外一條是access_log,用來指定日誌檔案的存放路徑、格式和快取大小。兩條指令在Nginx配置檔案中的位置可以在http{......}之間,也可以在虛擬主機之間,即server{ ...... }兩個大括號之間。生產環境中的伺服器,由於訪問日誌檔案增長速度非常快,日誌太大會嚴重影響伺服器效率。同時,為了方便對日誌進行分析計算,需要對日誌檔案進行定時切割。定時切割的方式有按月切割、按天切割、按小時切割等。最常用的是按天切割。

    Nginx的壓縮輸出配置:經過gzip壓縮後頁面大小可以變為原來的30%甚至更小。這樣,使用者瀏覽頁面的時候速度會快得多。gzip的壓縮頁面需要瀏覽器和伺服器雙方都支援,實際上就是伺服器端壓縮,傳到瀏覽器後瀏覽器解壓並解析。Nginx的壓縮輸出由一組gzip壓縮指令來實現。

    Nginx的自動列目錄配置

    Nginx的瀏覽器本地快取設定:可通過expires指令輸出Header頭來實現。

1.3 Nginx與PHP(FastCGI)的安裝、配置與優化

     Linux+Apache+Mysql+Perl/PHP/Python

1.4 Nginx與JSP、ASP.NET、Perl的安裝與配置

     Linux

1.5 Nginx HTTP負載均衡和反向代理的配置與優化

     負載均衡:

     反向代理:指以代理伺服器來接受Internet上的連線請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給Internet上請求連線的客戶端,此時代理伺服器對外就表現一個伺服器。

     常見的Web負載均衡方式:使用者手動選擇方式、DNS輪詢方式

     Nginx負載均衡的HTTP Upstream模組:提供了一個簡單方法來實現在輪詢和客戶端IP之間的後端伺服器負載均衡,並可以對後端伺服器進行健康檢查。

1.6 Nginx的Rewrite規則與例項

     Rewrite主要的功能就是實現URL的重寫,採用PCRE,Perl相容正規表示式的語法進行規則匹配

1.7 Nginx模組開發

     一些訪問量非常大、業務邏輯簡單的Web應用,如果採用PHP等解析型語言去處理,雖然可行,但是在併發能力、處理速度上將受到限制,耗費的系統資源也會較大,這就要求我們增加更多的伺服器來處理這類應用。而採用Nginx模組來處理這類Web應用,在效能上將得到極大的提高,大大減少伺服器的數量,並將在很大程度上節省伺服器的運維成本。

1.8 Nginx的Web快取服務與新浪網的開源NCACHE模組

     Web快取

1.9 Nginx在國內知名網站中的應用案例

     主要可分為三類:Nginx反向代理與負載均衡類網站應用案例、Nginx+PHP/JSP類網站應用案例、Nginx靜態內容Web伺服器應用案例。

1.10 Nginx的非典型應用例項

     用HTTPS(SSL)構建一個安全的Nginx Web伺服器

     採用Nginx搭建FLV視訊伺服器

     採用Nginx搭建正向代理伺服器

1.11 Nginx的核心模組

     核心模組

     標準HTTP模組

     可選HTTP模組

     郵件模組

     第三方模組

     補丁     

1.12 Nginx的標準HTTP模組

     HTTP Upstream模組

   

相關文章