Nginx是2004年發(fā)布虽画,lgor Sysoev為俄羅斯訪問量第二的rambler.ru站點升級開發(fā)的,其常用功能有:
? 1、Http代理麸粮,反向代理:作為web服務器最常用的功能之一半哟,尤其是反向代理酬滤。
? ? ? ?Nginx在做反向代理時,提供性能穩(wěn)定寓涨,并且能夠提供靈活的轉(zhuǎn)發(fā)功能盯串。Nginx可以根據(jù)不同的正則匹配,采取不同的轉(zhuǎn)發(fā)策略戒良,比如圖片結(jié)尾??
? ? ? 的走文件服務器体捏,動態(tài)頁面走web服務器,正則寫的沒問題糯崎,有對應的服務器解決方案,你就可以隨心所欲的操作几缭。并且Nginx對返回結(jié)果進行
? ? ? 錯誤也跳轉(zhuǎn),異常判斷等沃呢。如果被分發(fā)的服務器存在異常年栓,他可以將請求重新轉(zhuǎn)發(fā)給另一臺服務器,然后自動去除異常服務器薄霜。
? 2某抓、負載均衡
? ? ? ?Nginx提供的負載均衡策略有2種:內(nèi)置策略和擴展策略。內(nèi)置策略為輪詢惰瓜,加權輪詢否副,Ip hash。擴展策略鸵熟,就天馬行空副编,
? ?3、web緩存
? ? ? ? Nginx可以對不同的文件做不同的緩存處理,配置靈活痹届,并且支持FastCGI_Cache,主要用于對FastCGI的動態(tài)程序進行緩存呻待。
? ? ? ? 配合著第三方的ngx_cache_purge,對制定的URL緩存內(nèi)容可以進行增刪管理。
? ? 4队腐、Nginx相關地址
?????????源碼:https://trac.nginx.org/nginx/browser
? ??????官網(wǎng):http://www.nginx.org/
Nginx配置文件結(jié)構
? ? 下載安裝好Nginx蚕捉,打開conf文件夾的nginx.conf文件,Nginx服務器的基礎配置存放在此柴淘。在nginx.conf的注釋符號位#
? ? ?nginx文件結(jié)構? :
????????????1迫淹、全局塊:配置影響nginx全局的指令。一般有運行nginx服務器的用戶組为严,nginx進程pid存放路徑敛熬,配置文件引入,
? ? ? ? ? ? ? ? 配置文件引入第股,允許生成worker process數(shù)等应民。
? ? ? ? ? ? 2、events塊:配置影響nginx服務器或用戶的網(wǎng)絡連接夕吻。有每個進程的最大連接數(shù)诲锹,選取哪種事件驅(qū)動模型處理連接請求,
? ? ? ? ? ? ? ? ?是否允許同時接受多個網(wǎng)絡連接涉馅,開啟多個網(wǎng)絡連接序列化
? ? ? ? ? ? 3归园、http塊:可以嵌套多個server,配置代理,緩存稚矿,日志定義等絕大多數(shù)功能和第三方模塊的配置庸诱。如文件引入,mime-type?
? ? ? ? ? ? ? ? ? 定義盐捷,日志自定義偶翅,是否使用sendfile傳輸文件,連接超時時間碉渡,單鏈接請求書等
? ? ? ? ? ? 4、server塊:配置虛擬主機的相關參數(shù)母剥,一個http總個可以有多個server????
? ? ? ? ? ? 5滞诺、location塊:配置請求的路由,以及各種頁面的處理情況环疼。
? ? ? ? ? ? 配置nginx习霹,需要注意的幾點:
? ? ? ? ? ? 1、a炫隶、$remote_addr 與$http_x_forwarded_for用以記錄客戶端的ip地址淋叶; b.、$remote_user:用來記錄客戶端用戶名稱伪阶; c煞檩、
? ? ? ? ? ? ? ? $time_local:用來記錄訪問時間與時區(qū);d处嫌、$request:用來記錄請求的url與http協(xié)議 e、$status:用來記錄請求狀態(tài)斟湃;成功是200
? ? ? ? ? ? ? ? f熏迹、$body_bytes_s ent:記錄發(fā)送給客戶端文件主體內(nèi)容大小凝赛; h注暗、$http_referer:用來記錄從那個頁面鏈接訪問過來的;i墓猎、
? ? ? ? ? ? ? ? $http_user_agent:記錄客戶端瀏覽器的相關信息捆昏。
? ? ? ? ? ? 2、驚群現(xiàn)象:一個網(wǎng)絡連接到來毙沾,多個睡眠的進程被同時喚醒骗卜,但只有一個進程能獲得鏈接,這樣會影響系統(tǒng)性能搀军。
? ? ? ? ? ? 3膨俐、每個指令必須有分號結(jié)束。