一。簡介
nginx在netcraft網站上的數據顯示,nginx的市場份額已經高達15%,意味着世界上幾百萬臺web服務器運行着nginx,那nginx爲什麼如此生猛呢?
nginx的功能:
1.作爲web反向代理服務器
2.作爲郵件代理服務器
3.具備緩存功能
4.具備負載均衡功能,且能檢測後端服務器的健康狀態
5.極強的擴展性,幾十種的第三方模塊
nginx結構分析
包括4大類模塊
1主模塊,管理日誌,權限,調度器模型等
2.HTTP模塊:包括標準模塊和可選模塊
標準模塊包括upstream ,proxy,http_core,rewrite,fastcgi,header等招牌模塊
可選模塊包括FLV,SSL,GeoIP等
3.Mail模塊:包括Mail Core ,POP3,SMTP,PROXY等模塊
4.Third Party模塊:包括Auth Pam,Lua,等模塊
內置變量
引用不同的模塊,就會有新的環境變量可用,其中較常見的一些變量如下
$document_root :web主目錄
$document_uri :訪問uri
$host :主機
$http_user_agent :用戶瀏覽器信息
$http_cookie :cookie
$request_method :請求類型
$remote_addr :user IP
$remote_port :user 端口
$request_filename :請求文件名
$request_uri :請求uri
這些變量一般用在正則表達式匹配中,進行rewrite
二。一些相關功能的實現,比如upstream,rewrite,header
upstream的算法:ip-hash,rr,lc
~ 正則匹配 區分大小寫
~* 正則匹配,不區分大小寫
^ ~ 不進行正則匹配
= 精確匹配