一、 工具
nginx-1.8.0
apache-tomcat-6.0.33
二狠半、 目標
實現(xiàn)高性能負載均衡的Tomcat集群:
三鬓照、 步驟
1、首先下載Nginx缝左,要下載穩(wěn)定版:
2、然后解壓兩個Tomcat浓若,分別命名為apache-tomcat-6.0.33-1和apache-tomcat-6.0.33-2:
3渺杉、然后修改這兩個Tomcat的啟動端口,分別為18080和28080挪钓,下面以修改第一臺Tomcat為例是越,打開Tomcat的conf目錄下的server.xml:
共需修改3處端口:
當然第二臺Tomcat也一樣,如下圖:
4碌上、然后啟動兩個Tomcat倚评,并訪問,看是否正常:
5馏予、然后修改上面兩個Tomcat的默認頁面(為了區(qū)分下面到底訪問的是那一臺Tomcat天梧,隨便改一下即可):
改完以后,進行訪問霞丧,如下圖:
6呢岗、OK,現(xiàn)在我們可以開始配置Nginx來實現(xiàn)負載均衡了蛹尝,其實非常的簡單后豫,只需要配置好Nginx的配置文件即可:
配置如下(這里只進行了簡單的配置,實際生產(chǎn)環(huán)境可以進行更詳細完善配置):
1. worker_processes 1;#工作進程的個數(shù)突那,一般與計算機的cpu核數(shù)一致
3. events {
4. worker_connections 1024;#單個進程最大連接數(shù)(最大連接數(shù)=連接數(shù)*進程數(shù))
5. }
7. http {
8. include mime.types; #文件擴展名與文件類型映射表
9. default_type application/octet-stream;#默認文件類型
11. sendfile on;#開啟高效文件傳輸模式硬贯,sendfile指令指定nginx是否調(diào)用sendfile函數(shù)來輸出文件,對于普通應用設為 on陨收,如果用來進行下載等應用磁盤IO重負載應用饭豹,可設置為off鸵赖,以平衡磁盤與網(wǎng)絡I/O處理速度,降低系統(tǒng)的負載拄衰。注意:如果圖片顯示不正常把這個改成off它褪。
13. keepalive_timeout 65; #長連接超時時間,單位是秒
15. gzip on;#啟用Gizp壓縮
17. #服務器的集群
18. upstream netitcast.com { #服務器集群名字
19. server 127.0.0.1:18080 weight=1;#服務器配置 weight是權(quán)重的意思翘悉,權(quán)重越大茫打,分配的概率越大。
20. server 127.0.0.1:28080 weight=2;
21. }
23. #當前的Nginx的配置
24. server {
25. listen 80;#監(jiān)聽80端口妖混,可以改成其他端口
26. server_name localhost;############## 當前服務的域名
28. location / {
29. proxy_pass http://netitcast.com;
30. proxy_redirect default;
31. }
34. error_page 500 502 503 504 /50x.html;
35. location = /50x.html {
36. root html;
37. }
38. }
39. }
核心配置如下:
到此配置完成老赤,下面開始演示負載均衡。
7制市、首先抬旺,我們啟動Nginx:
8、然后我們即可輸入:localhost/index.jsp查看運行狀況了
第一次訪問祥楣,發(fā)現(xiàn)訪問的是Tomcat2上的程序:
然后刷新开财,訪問的還是Tomcat2上的程序:
再刷新,發(fā)現(xiàn)變?yōu)榱薚omcat1上的程序:
再刷新误褪,發(fā)現(xiàn)又變?yōu)榱薚omcat2上的程序:
到此责鳍,我們利用Nginx已經(jīng)實現(xiàn)了負載均衡的Tomcat集群。我們不斷的刷新兽间,發(fā)現(xiàn)訪問Tomcat2的概率大概是Tomcat1的2倍历葛,這是因為我們在Nginx中配置的兩臺Tomcat的權(quán)重起的作用,如下圖: