Chinaunix首页 | 论坛 | 博客
  • 博客访问: 176499
  • 博文数量: 33
  • 博客积分: 761
  • 博客等级: 上士
  • 技术积分: 364
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-15 23:56
个人简介

梦想主义者

文章分类

全部博文(33)

文章存档

2012年(33)

分类: LINUX

2012-04-12 17:35:06

实现了负载均衡和session共享

1 jdk 的安装配置:

jdk 的版本为:

  1. mkdir /usr/java

将下载的 jdk-6u31-linux-i586.bin 复制到 /usr/java 目录下

  1. cp jdk-6u31-linux-i586.bin /usr/java

安装

  1. ./ jdk-6u31-linux-i586.bin

安装后的配置环境变量:

  1. vi /etc/profile

在文件最后添加:

  1. export JAVA_HOME=/usr/java/jdk1.6.0_31
  2. export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar
  3. export PATH=$PATH:$JAVA_HOME/bin

使环境变量马上生效

  1. source /etc/profile

2 tomcat 的安装配置:

tomcat 版本:

tomcat 无需安装,解压后即可使用,目录为 usr/tomcat

tar -zxvf apache-tomcat-6.0.35.tar.gz

在此处配置两个 tomcat

其中 tomcat1 为如下配置:

  1. <Server port= "8005" shutdown= "SHUTDOWN" >
  2. <Connector port= "8080" protocol= "HTTP/1.1"
  3. connectionTimeout= "20000"
  4. redirectPort= "8443" / >
  5. <Connector port= "8009" protocol= "AJP/1.3" redirectPort= "8443" / >
  6. <Engine name= "Catalina" defaultHost= "localhost" jvmRoute= "tomcat2" >

其中 tomcat2 为如下配置:

  1. <Server port= "9005" shutdown= "SHUTDOWN" >
  2. <Connector port= "8090" protocol= "HTTP/1.1"
  3. connectionTimeout= "20000"
  4. redirectPort= "8443" / >
  5. <Connector port= "9009" protocol= "AJP/1.3" redirectPort= "8443" / >
  6. <Engine name= "Catalina" defaultHost= "localhost" jvmRoute= "tomcat1" >

3 ngnix 的安装配置

ngnix 的版本: nginx-1.0.10.tar.gz

ngnix 的模块需要其他一些第三方库的支持。

Gzip 模块需要 zlib

Rewrite 模块需要 pcre

Ssl 功能需要 openssl

使用前要先进行安装相应的第三方库

  1. yum -y install gcc gcc-c++ autoconf automake
  2. yum -y install zlib zlib-devel openssl opsenssl-devel pcre pcre-devel
  3. wget
tar xzvf nginx-upstream-jvm-route-0.1.tar.gz
//配置jvm_route的解压路径,主要为了寻找jvm_route.patch
  1. patch -p0 < /usr/local/src/nginx_upstream_jvm_route/jvm_route.patch
  2. tar -zxvf nginx-1.0.10.tar.gz
  3. cd nginx-1.0.10
  4. ./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/nginx_upstream_jvm_route
  5. make
  6. make install

接下来配置 nginx ,它的配置文件 :/usr/local/nginx/conf/nginx.conf

修改如下:

  1. worker_processes 1;
  2. error_log logs/error .log crit ;
  3. pid logs/nginx.pid;
  4. events {
  5. use epoll
  6. worker_connections 1024;
  7. }
  8. http {
  9. include mime.types;
  10. default_type application/octet-stream;
  11. sendfile on ;
  12. tcp_nopush on ;
  13. keepalive_timeout 65;
  14. upstream localhost{
  15. server 127.0.0.1:8080 srun_id=tomcat1 weight=1;
  16. server 127.0.0.1:8090 srun_id=tomcat1 weight=3;
  17. jvm_route $cookie_JSESSIONID reverse;
  18. }
  19. server {
  20. listen 80;
  21. server_name localhost;
  22. location / {
  23. proxy_redirect off ;
  24. proxy_set_header Host $host;
  25. proxy_set_header X-Real-IP $remote_addr;
  26. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  27. proxy_pass http: / /localhost;
  28. }
  29. error_page 500 502 503 504 /50x.html;
  30. location = /50x.html {
  31. root html;
  32. }
  33. }
  34. }

启动 nginx tomcat 进行测试

  1. /usr/local/tomcat1/bin/startup.sh
  2. /usr/local/tomcat2/bin/startup.sh
  3. /usr/local/nginx/sbin/nginx -t //测试nginx的配置文件是否正确,若正确执行以下命令启动
  4. /usr/local/nginx/sbin/nginx

分别修改 tomcat1 tomcat2 下的 index.html ,在 下面一行加上分别加上 tomcat1 tomcat2

然后访问 :

就可以查看访问的是哪个 tomcat ,多访问几次就可以发现 tomcat1 tomcat2 的比例大约为 1 : 2

PS:这次配置浪费了很多时间,主要是开始的时候什么参数都想加上,结果最后都不知道到底加上了什么,搞乱了之间的关系,没有了什么头绪。最后重新做的,先是在windows上做了一遍,很快就搞定了,然后又在centos6上做了一遍,也没有很大的障碍。

所以,在以后学习一些陌生的东西的时候,开始不要求多,先把它基本的东西搞清楚,需要什么功能可以再慢慢往上添加,切记开始时候求多,结果因为太多不熟悉的东西,最后搞的一团糟。

阅读(4283) | 评论(3) | 转发(1) |
0

上一篇:实习总结

下一篇:小结

给主人留下些什么吧!~~

谢先生dy2017-11-09 19:35:48

我想问楼主,如果加第三个tomcat3,里面的nginx.conf的upstream localhost是不是加一个erver 127.0.0.1:8090 srun_id=tomcat3 weight=5;就可以了。然后再tomcat3里面的conf/server.xml里面修改配置,然后这个jvmRoute=tomcat1还是等于什么。
就只用增加这个两个而已对吗?求高明指教

yl10032012-03-02 08:51:27

哇哦哇2012-02-25 07:16:19

我喜欢精简版\(^o^)/~