# 一、常見伺服器
# 二、nginx.conf檔案的結構
```... #全域性塊
events
http #http塊
location [pattern]
}server
... #http全域性塊
}```
## 2.1 全域性塊
通常包括配置執行nginx伺服器的使用者(組)、允許生成的worker_process數、nginx程序pid存放路徑、日誌存放路徑和型別以及配置檔案的引入等
``` user user [group]; ```
``` user nobody nobody; ``` :所有使用者都可啟動nginx程序
## 2.2 events塊
涉及的指令主要影響nginx與使用者的網路連線。
常用設定包括:
是否開啟對多worker_process下的網路連線進行序列化:``` accept_mutex on | off; ```
是否允許同時接收多個網路連線: ``` multi_accept on | off; ```
選取哪種事件驅動模型處理連線請求: ``` use method(select\poll\kqueue\epoll\rtsig\eventport); ```
每個worker_process可以同時支援的最大連線數等: ``` worker_connections 512; ```
## 2.3 http塊
是nginx配置重要部分!**、快取、日誌定義等絕大部分和第三方模組配置。
http全域性塊中配置指令包括:
檔案引入: ``` include mime.type; ```
mime-type定義: ``` types ```通過include引入mime型別定義
日誌自定義: ``` access_log logs/access.log combined; ```
是否使用sendfile傳輸檔案: ``` sendfile on | off; ```
單連線請求數上限: ``` keepalive_requests number; ```
用於限制使用者通過某一連線向nginx伺服器傳送請求的次數,預設為100
## 2.4 server塊
與虛擬主機關係密切!
server全域性塊中,常見配置項有:虛擬主機監聽配置、虛擬主機的名稱和ip配置。
## 2.5 location塊
每個sever可以包含多個location塊!
主要作用:對接收到的請求字串(除虛擬主機名稱或ip之外)進行匹配,對特定的請求進行處理
語法結構:``` location [ = | ~ | ~* | ^~ ] uri ```
"=" : 嚴格匹配,如果匹配成功就停止向下搜尋並立即處理請求
"~" : 包含,區分大小寫
"~*" : 包含,不區分大小寫
下面是最簡單的配置
```# 三、gzip壓縮
主要 ngx_http_gzip_module \ ngx_http_gzip_static_module \ ngx_http_gunzip_module 模組
其中 ngx_http_gzip_module 模組處理的9個指令:
ngx_http_gzip_static_module模組的指令:
主要負責搜尋和傳送經過gzip預壓縮的資料,並以「.gz」為字尾儲存在伺服器上
```ngx_http_gunzip_module 模組的指令暫不深入了解。
# 四、rewrite功能
# 五、**服務
Nginx 學習筆記
nginx配置proxy pass 的 路徑問題 在nginx中配置proxy pass時,如果是按照 匹配路徑時,要注意proxy pass後的url最後的 當加上了 相當於是絕對根路徑,則nginx不會把location中匹配的路徑部分 走 如果沒有 則會把匹配的路徑部分也給 走。locatio...
Nginx學習筆記
常用命令 啟動 start nginx 或者 nginx.exe 停止 nginx.exe s stop 或者 nginx.exe s quit stop是快速停止nginx,quit是完整有序的停止nginx 重啟 nginx.exe s reload 配置資訊修改使用此命令 配置 1 匹配以ro...
nginx學習筆記
mac os x 10.11.5環境 brew install nginx 即可。預設安裝目錄 usr local etc nginx。可以修改目錄下nginx.conf檔案的配置,將8080改為8081,則通過http localhost 8081訪問就可以看到nginx的歡迎介面了。主程序可以處...