Nginx佔有內存少,併發能力強,其實Nginx的併發能力確實在同類型的網頁伺服器中表現較好.眼下中國大陸使用Nginx站點用戶有:新浪,網易,騰訊等.html
本文主要是基於Nginx搭建tomcat集羣.java
環境:nginx
Win8.1,JDK 1.6 , Nginx1.9.3算法
Tomcat 7.0.63(兩個tomcatserver)後端
結構:緩存
upstreamlocahost{ #ip_hash; server192.168.24.17:8080 weight=1; server192.168.24.43:8080 weight=2; }
反向代理:對於client而言,它就像是演示server,並且client不需要進行不論什麼特別的設置.client反向代理的命名空間中的內容發送普通請求,接着反向代理將推斷向何處轉交請求,並將得到的內容返回給client,就像這些內容本來就是它本身的同樣.前面博客:Nginx是什麼?裏面介紹了.tomcat
upstream192.168.24.17{ #ip_hash; server192.168.24.17:8080 weight=1; server192.168.24.43:8080 weight=2; } #gzip on; server { listen 8888; server_name 192.168.24.17; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; proxy_pass http://192.168.24.17; proxy_connect_timeout1; proxy_send_timeout30; proxy_read_timeout60; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }
a.Weight:權重,值越大,命中率越高session
b.上面標紅的地方:192.168.24.17,這三處要一致才幹實現負載均衡的效果.併發
說明:這個IP以及port號是nginx設置的名稱以及port號.訪問後能分別調用到後端不一樣的server.實現負載均衡效果.進一步可以看出本實例使用的是輪詢的方式,也就是負載均衡默認的方式.app
upstream是Nginx的HTTP Upstream模塊,這個模塊經過一個簡單的調度算法來實現clientIP到後端server的負載均衡.在上面的設定中,聽過upstream指令指定了一個負載均衡的名稱爲192.168.24.17.這個名稱可以隨意指定,在後面需要用到的地方直接調用就能夠.
Nginx的負載均衡模塊眼下支持4種調度算法.
在HTTP Upstream模塊彙總,可以經過server指令指定後端server的IP地址和port,同一時候還可以設定每個後端server在負載均衡調度中的狀態.常常使用的狀態有:
注:當負載調度算法爲ip_hash時,後端server在負載均衡調度中的狀態不能使weight和backup.
經過這樣的方式,當咱們的站點訪問量愈來愈大時,咱們就能承受不少其它的壓力,並且能夠動態的加入server.配置負載均衡很是easy,那麼怎樣實現多臺server之間session的共享呢?下篇繼續介紹.
注意:nginx放到中文文件夾下,啓動時會有問題.
打印出來的日誌:
[emerg] 10744#10916: CreateFile()"E:\02 Java內容學習彙總\Nginx\nginx-1.4.7/conf/nginx.conf"failed (1113: No mapping for the Unicode character exists in the targetmulti-byte code page)