redis-2.8javascript
Apache-tomcat-6.0.41css
nginx1.6.2html
到redis的目錄下找的redis.conf,解開requirepass註釋(此屬性用於設置密碼)。java
如:nginx
requirepass rootweb
到redis的目錄之後臺運行的方式啓動redisredis
redis-server /root/redis-2.8.9/redis.conf &apache
部署一個應用到tomcat,將裏面的須要靜態處理的文件,例如img,單獨存放在一個文件夾下,如static下面。將用戶產生的媒體文件存放到一個共用的目錄下,如/data/media下。後面用nginx配置處理。tomcat
在tomcat本身的lib下添加session共享所需的jar包,須要注意tomcat的版本對應。服務器
commons-pool-1.6.jar
jedis-2.1.0.jar
tomcat-redis-session-manager-1.2-tomcat-6.jar
到tomcat的conf目錄下找到context.xml配置文件,在標籤<Context>下添加:
[html] view plaincopy
提供的配置中默認沒有password屬性,咱們能夠查看tomcat-redis-session-manager-1.2-tomcat-6.jar的源碼,能夠在RedisSessionManager.class中找的password屬性。
配置完了tomcat和redis共享的配置以後,咱們就能夠將此tomcat複製多份,而後修改tomcat的端口,如:
tomcat1:Server port="8005",Connector port="8080",ajp Connector port="8009"
tomcat2:Server port="8006",Connector port="8081",ajp Connector port="8010"
tomcat3:Server port="8007",Connector port="8082",ajp Connector port="8011"
在ngix的nginx/conf.d/下有個default.conf,將裏面的listen 80 default_server改成:
listen 80;
在ngix的nginx/conf.d/的建立一個conf,如test.conf。在裏面添加upstream pool配置段,將各個須要負載服務器的地址填到下面:
[html] view plaincopy
繼續在test.conf中添加:
[html] view plaincopy
[html] view plaincopy
在http {}裏增長 client_max_body_size屬性,此屬性會影響不少的地方,例如上傳。
client_max_body_size 100m;
測試負載均衡:
啓動nginx和全部tomcat,而後到網頁登陸,而後啓動另外一個tomcat,關閉上一個。查看是否還能訪問。開啓全部tomcat用工具發起大量請求,查看請求是否被分發到各個tomcat。
測試session共享:
啓動nginx和一個tomcat,而後到網頁登陸,而後啓動另外一個tomcat,關閉上一個。查看是否還在登陸狀態。