nginx使用

大家好,我是我是深圳分院第十期java學員,一枚正直純潔善良的Java程序員。

Nginx的作用是什麼,如何使用nginx

Java小課堂

1.背景介紹

2.知識剖析

3.常見問題

4.解決方案

5.編碼實戰

6.擴展思考

7.參考文獻

8.更多討論

1.背景介紹

什麼是ngnix

Nginx是一個http服務器。是一個使用c語言開發的高性能的http 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器。由俄羅斯的程序設計師IgorSysoev所開發,官方測試nginx能夠支撐5萬併發鏈接,並且cpu、內存等資源消耗卻非常低,運行非常穩定,中國大陸使用nginx網站用戶有:百度、京東、新浪、網易、騰訊、淘寶等。

總結三大優點:性能高、輕量級、易操作

nginx的使用場景

1、反向代理

2、負載均衡

3、動靜分離

反向代理:反向代理(ReverseProxy)是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,簡單來說就是真實的服務器不能直接被外部網絡訪問,想要訪問必須通過代理。

反向代理的作用

1、防止主服務器被惡意攻擊

2、爲負載均衡和動靜分離提供實現支持

負載均衡:使用反向代理同時代理多個相同內容的應用服務器(比如tomcat),將客戶端請求分發到各個應用服務器上並接收響應返回給客戶端

負載均衡的作用:當一臺服務器的單位時間內的訪問量越大時,服務器壓力就越大,大到超過自身承受能力時,服務器就會崩潰。爲了避免服務器崩潰,讓用戶有更好的體驗,我們通過負載均衡的方式來分擔服務器壓力。我們可以建立很多很多服務器,組成一個服務器集羣,當用戶訪問網站時,先訪問一箇中間服務器,在讓這個中間服務器在服務器集羣中選擇一個壓力較小的服務器,然後將該訪問請求引入該服務器。如此一來,用戶的每次訪問,都會保證服務器集羣中的每個服務器壓力趨於平衡,分擔了服務器壓力,避免了服務器崩潰的情況。

動靜分離:運用Nginx的反向代理功能分發請求:所有動態資源的請求交給應用服務器,而靜態資源的請求(例如圖片、視頻、CSS、JavaScript文件等)則直接由Nginx返回到瀏覽器

動靜分離的作用:主要是nginx處理靜態頁面的效率遠高於tomcat的處理能力,使用c語言開發的nginx對靜態資源每秒的吞吐量是使用Java語言開發的tomcat的6倍,也遠高於其它應用服務器

總而言之:nginx應用之所以廣泛,我認爲這歸功於它的靈活配置,一個nginx.conf文件解決大部分問題,不論是nginx創建虛擬服務器、nginx的反向代理服務器,還是nginx的負載均衡,幾乎都在這個配置文件中進行。服務器上只負責把nginx搭好,跑起來即可。而且它本身輕量級,不需要佔用服務器太多資源就可以達到較好的效果,是一個非常值得推崇的服務器。

2.知識剖析

1、nginx反向代理是如何實現的

a.主要是對proxy_pass的使用

2、nginx負載均衡是如何實現的

a.兩臺或以上的應用服務器

b.主要是upstream和反向代理的聯合使用

nginx的upstream常用分發策略

1)、輪詢(默認)——每個請求按時間順序逐一分配到不同的後端服務器,如果後端服務器down掉,能自動剔除。

2)、weight ——指定輪詢機率,weight和訪問比率成正比,用於後端服務器性能不均的情況。

3)、ip_hash ——每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端服務器。

4)、backup——其它所有的非backup機器down或者忙的時候,請求backup機器。所以這臺機器壓力會最輕。

5)、down——表示當前的server暫時不參與負載

3、nginx動靜分離是如何實現的

a、正則表達式匹配靜態資源後綴

b、找到靜態資源本地存放路徑

3.常見問題

都是web服務器,nginx和tomcat的區別是什麼?

4.解決方案

答:雖然Tomcat也可以認爲是web服務器,內部集成了web服務器的相關功能,但通常它仍然會和Nginx配合在一起使用。嚴格的來說,Nginx 應該叫做「web Server」;而 Tomcat 則是一個「Application Server」,或者更準確的來說,是一個「Servlet/JSP」應用的容器(Ruby/Python 等其他語言開發的應用也無法直接運行在 Tomcat 上),這種特性導致了它們在使用中有明確的分工職責。

5.編碼實戰

6.擴展思考

7.參考文獻

1.CSDN博客:http://blog.csdn.net/daybreak1209/article/details/51554045

2.CSDN博客:https://www.cnblogs.com/microtiger/p/7623858.html

8.更多討論

今天的分享就到這裏啦,歡迎大家提問和探討!

1,q:反向代理的作用

a:影藏ip地址和端口

2,q:負載均衡的作用

a:負載多臺服務器,處理請求

3,q:動靜分離有什麼優勢

a:動靜分離把靜態資源全部交給ngin處理,比tomcat處理速度個跟快

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章