Nginx——Nginx簡介
Nginx——Nginx 的安裝,nginx.conf 配置檔案和相關指令
Nginx——反向代理示範——絕對牛逼篇
Nginx——負載均衡示範——偷懶篇
Nginx——動靜分離示範
文章目錄
- 1:Nginx 的安裝
- 2:Nginx的相關指令
- 3:nginx.conf 配置檔案
-
- 3.1 全局塊
- 3.2 events塊
- 3.3 http 塊
1:Nginx 的安裝
Nginx 的安裝需要下面的材料
第一步,安裝 pcre
- 擷取pcre-8.37.tar.gz
$ wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
- 解壓pcre-8.37.tar.gz
& tar -zxvf pcre-8.37.tar.gz
- 進入/pcre目錄,執行
$ ./configure
- 調用編譯安裝指令
$ make && make install
第二步,安裝 openssl
第三步,安裝 zlib
$ yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
第四步,安裝 nginx
- 擷取nginx-1.1.10.tar.gz
& wget http://nginx.org/download/nginx-1.1.10.tar.gz
- 解壓nginx-1.1.10.tar.gz
& tar -zxvf nginx-1.1.10.tar.gz
- 進入nginx目錄執行
$ ./configure
- 調用編譯安裝指令
& make && make install
我們檢視nginx.conf中發現,端口号是80,不會對windows系統開發,是以我們必須要設定開放端口号
linux系統防火牆相關問題及常用指令介紹
步驟如下:
- 先檢視開放的端口号,發現沒有80
& firewall-cmd --list-all
- 設定開放的端口号
& sudo firewall-cmd --add-port=80/tcp --permanent
- 重新開機防火牆 ,才可以顯示出重新設定後的開放端口
& firewall-cmd --reload
- 再檢視開放的端口号,發現有80
& firewall-cmd --list-all
上圖示範
2:Nginx的相關指令
我們必須要進去 /usr/local/nginx/sbin 目錄下執行相關指令
- 啟動指令
- 關閉指令
- 重新加載指令
3:nginx.conf 配置檔案
- Nginx目錄下的檔案(/usr/local/nginx)
- 進入conf目錄下的檔案,發現了nginx.conf 配置檔案(/usr/local/nginx/conf/nginx.conf)
-
nginx.conf 配置檔案的三部分
配置檔案中有很多#, 開頭的表示注釋内容,我們去掉所有以 # 開頭的段落,精簡之後的 内容如下:
注釋其實是很重要的,它會教你怎麼使用配置
3.1 全局塊
- 從配置檔案開始到 events 塊之間的内容,主要會設定一些影響nginx 伺服器整體運作的配置指令,主要包括配 置運作 Nginx 伺服器的使用者(組)、允許生成的 worker process 數,程序 PID 存放路徑、日志存放路徑和類型以 及配置檔案的引入等。
work_processes 1;
這是 Nginx 伺服器并發處理服務的關鍵配置,worker_processes 值越大,可以支援的并發處理量也越多,但是 會受到硬體、軟體等裝置的制約
3.2 events塊
- events 塊涉及的指令主要影響 Nginx 伺服器與使用者的網絡連接配接,常用的設定包括是否開啟對多 work process 下的網絡連接配接進行序列化,是否允許同時接收多個網絡連接配接,選取哪種事件驅動模型來處理連接配接請求,每個 word process 可以同時支援的最大連接配接數等。 這部分的配置對 Nginx 的性能影響較大,在實際中應該靈活配置。
events{
worker_connection 1024;
}
上述例子就表示每個 work process 支援的最大連接配接數為 1024.
3.3 http 塊
- 這算是 Nginx 伺服器配置中最頻繁的部分,代理、緩存和日志定義等絕大多數功能和第三方子產品的配置都在這裡。
注意:http 塊也可以包括 http全局塊、server 塊。
-
http 全局塊
http全局塊配置的指令包括檔案引入、MIME-TYPE 定義、日志自定義、連接配接逾時時間、單連結請求數上限等。
- server 塊
- 這塊和虛拟主機有密切關系,虛拟主機從使用者角度看,和一台獨立的硬體主機是完全一樣的,該技術的産生是為了 節省網際網路伺服器硬體成本。
- 每個 http 塊可以包括多個 server 塊,而每個 server 塊就相當于一個虛拟主機。
-
每個 server 塊也分為全局 server 塊,以及可以同時包含多個 locaton 塊。
1、全局 server 塊
最常見的配置是本虛拟機主機的監聽配置和本虛拟主機的名稱或IP配置。
2、location 塊
一個 server 塊可以配置多個 location 塊。
這塊的主要作用是基于 Nginx 伺服器接收到的請求字元串(例如 server_name/uri-string),對虛拟主機名稱 (也可以是IP 别名)之外的字元串(例如 前面的 /uri-string)進行比對,對特定的請求進行處理。位址定向、資料緩 存和應答控制等功能,還有許多第三方子產品的配置也在這裡進行。