Nginx從入門到實戰
什麼是Nginx,我們為什麼要使用nginx。
- Nginx (“engine x”) 是一個高性能的 HTTP 和反向代理伺服器,也是一個 IMAP/POP3/SMTP 伺服器
代理如何了解
- 代理,意思是一個位于用戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得内容,用戶端向代理發送一個請求并指定目标(原始伺服器),然後代理向原始伺服器轉交請求并将獲得的内容傳回給用戶端。
- 反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連接配接請求,然後将請求轉發給内部網絡上的伺服器,并将從伺服器上得到的結果傳回給internet上請求連接配接的用戶端,此時代理伺服器對外就表現為一個反向代理伺服器。
nginx 安裝-- 編譯 很簡單–》》 這裡不介紹。
nginx 基礎概念
master主要管理worker程序
- 接收來自外界的信号;
- 向各worker程序發送信号;
- 監控worker程序的運作狀态;
- 當worker程序退出後(異常情況下),會自動重新啟動新的worker程序;
發送信号
- kill -QUIT 程序号 安全停止
- kil -TERM 程序号 立即停止
停止nginx
- ./nginx -s stop 停止
- ./nginx -s quit退出
- ./nginx -s reload 重新加載nginx.conf
Nginx 如何配置,Nginx配置流程、Nginx比對優先級
main(全局設定)
日志:
- 通過通路日志,你可以得到使用者地域來源、跳轉來源、使用終端、某個URL通路量等相關資訊;通過錯誤日志,你可以得到系統某個服務或server的性能瓶頸等;
配置
events設定nginx的工作模式及連接配接數上限
http 伺服器相關屬性
server(虛拟主機設定)
常用配置 Location規則
- 精确比對 location = /
- uri配置 location ^~ /static/
- 正則比對location ~* .(gif|png|css|js)$
細節:
- ~ 開頭表示區分大小寫的正則比對
- ~* 開頭表示不區分大小寫的正則比對
- !和!*分别為區分大小寫不比對及不區分大小寫不比對的正則