什麼是ngnix? Nginx是一個http伺服器。是一個使用c語言開發的高性能的http 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器。nginx能夠支撐5萬併發鏈接,並且cpu、記憶體等資源消耗卻非常低,運行非常穩定,中國大陸使用nginx網站用戶有:百度、京東、新浪、網易、騰 ...
什麼是ngnix? Nginx是一個http伺服器。是一個使用c語言開發的高性能的http 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器。nginx能夠支撐5萬併發鏈接,並且cpu、記憶體等資源消耗卻非常低,運行非常穩定,中國大陸使用nginx網站用戶有:百度、京東、新浪、網易、騰訊、淘寶等。
NGINX可以用來做什麼? 1、反向代理:反向代理(ReverseProxy)方式是指以代理伺服器來接受internet上的連接請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連接的客戶端,簡單來說就是真實的伺服器不能直接被外部網路訪問,想要訪問必須通過代理。 2、動靜分離:運用Nginx的反向代理功能分發請求:所有動態資源的請求交給應用伺服器,而靜態資源的請求(例如圖片、視頻、CSS、JavaScript文件等)則直接由Nginx返回到瀏覽器,這樣能大大減輕應用伺服器的壓力 3、負載均衡:負載均衡也是 Nginx常用的一個功能,當一臺伺服器的單位時間內的訪問量越大時,伺服器壓力就越大,大到超過自身承受能力時,伺服器就會崩潰。為了避免伺服器崩潰,讓用戶有更好的體驗,我們通過負載均衡的方式來分擔伺服器壓力。我們可以建立很多很多伺服器,組成一個伺服器集群,當用戶訪問網站時,先訪問一個中間伺服器,在讓這個中間伺服器在伺服器集群中選擇一個壓力較小的伺服器,然後將該訪問請求引入該伺服器。如此以來,用戶的每次訪問,都會保證伺服器集群中的每個伺服器壓力趨於平衡,分擔了伺服器壓力,避免了伺服器崩潰的情況。負載均衡配置一般都需要同時配置反向代理,通過反向代理跳轉到負載均衡。 常見問題 1.nginx負載均衡是如何實現的 2.nginx的upstream常見的幾種方式的分發策略 解決方案 回答一:nginx負載均衡要兩台或以上的應用伺服器 , 並且在nginx.conf中寫入相關配置,主要是對proxy_pass,upstream的使用 回答二:常見的幾種負載均衡方式 1.輪詢(預設)——每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。 2.weight ——指定輪詢幾率,weight和訪問比率成正比,用於後端伺服器性能不均的情況。 3. ip_hash ——每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端伺服器。 4.backup——其它所有的非backup機器down或者忙的時候,請求backup機器。所以這台機器壓力會最輕。 5.down——表示單前的server暫時不參與負載 6.fair(第三方)按後端伺服器的響應時間來分配請求,響應時間短的優先分配。與weight分配策略類似。 編碼實戰
