实现了负载均衡和session共享
1 、 jdk 的安装配置:
jdk 的版本为:
将下载的 jdk-6u31-linux-i586.bin 复制到 /usr/java 目录下
- cp jdk-6u31-linux-i586.bin /usr/java
安装
- ./ jdk-6u31-linux-i586.bin
安装后的配置环境变量:
在文件最后添加:
- export JAVA_HOME=/usr/java/jdk1.6.0_31
- export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar
- export PATH=$PATH:$JAVA_HOME/bin
使环境变量马上生效
2 、 tomcat 的安装配置:
tomcat 版本:
tomcat 无需安装,解压后即可使用,目录为 usr/tomcat
tar -zxvf apache-tomcat-6.0.35.tar.gz
在此处配置两个 tomcat
其中 tomcat1 为如下配置:
- <Server port= "8005" shutdown= "SHUTDOWN" >
- <Connector port= "8080" protocol= "HTTP/1.1"
- connectionTimeout= "20000"
- redirectPort= "8443" / >
- <Connector port= "8009" protocol= "AJP/1.3" redirectPort= "8443" / >
- <Engine name= "Catalina" defaultHost= "localhost" jvmRoute= "tomcat2" >
其中 tomcat2 为如下配置:
- <Server port= "9005" shutdown= "SHUTDOWN" >
- <Connector port= "8090" protocol= "HTTP/1.1"
- connectionTimeout= "20000"
- redirectPort= "8443" / >
- <Connector port= "9009" protocol= "AJP/1.3" redirectPort= "8443" / >
- <Engine name= "Catalina" defaultHost= "localhost" jvmRoute= "tomcat1" >
3 、 ngnix 的安装配置
ngnix 的版本: nginx-1.0.10.tar.gz
ngnix 的模块需要其他一些第三方库的支持。
Gzip 模块需要 zlib 库
Rewrite 模块需要 pcre 库
Ssl 功能需要 openssl 库
使用前要先进行安装相应的第三方库
- yum -y install gcc gcc-c++ autoconf automake
- yum -y install zlib zlib-devel openssl opsenssl-devel pcre pcre-devel
- wget
tar xzvf nginx-upstream-jvm-route-0.1.tar.gz
//配置jvm_route的解压路径,主要为了寻找jvm_route.patch
- patch -p0 < /usr/local/src/nginx_upstream_jvm_route/jvm_route.patch
- tar -zxvf nginx-1.0.10.tar.gz
- cd nginx-1.0.10
- ./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/nginx_upstream_jvm_route
- make
- make install
接下来配置 nginx ,它的配置文件 :/usr/local/nginx/conf/nginx.conf
修改如下:
- worker_processes 1;
- error_log logs/error .log crit ;
- pid logs/nginx.pid;
- events {
- use epoll
- worker_connections 1024;
- }
- http {
- include mime.types;
- default_type application/octet-stream;
- sendfile on ;
- tcp_nopush on ;
- keepalive_timeout 65;
- upstream localhost{
- server 127.0.0.1:8080 srun_id=tomcat1 weight=1;
- server 127.0.0.1:8090 srun_id=tomcat1 weight=3;
- jvm_route $cookie_JSESSIONID reverse;
- }
- server {
- listen 80;
- server_name localhost;
- location / {
- proxy_redirect off ;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass http: / /localhost;
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
- }
- }
启动 nginx 和 tomcat 进行测试
- /usr/local/tomcat1/bin/startup.sh
- /usr/local/tomcat2/bin/startup.sh
- /usr/local/nginx/sbin/nginx -t //测试nginx的配置文件是否正确,若正确执行以下命令启动
- /usr/local/nginx/sbin/nginx
分别修改 tomcat1 和 tomcat2 下的 index.html ,在 下面一行加上分别加上 tomcat1 和 tomcat2 。
然后访问 :
就可以查看访问的是哪个 tomcat ,多访问几次就可以发现 tomcat1 和 tomcat2 的比例大约为 1 : 2
PS:这次配置浪费了很多时间,主要是开始的时候什么参数都想加上,结果最后都不知道到底加上了什么,搞乱了之间的关系,没有了什么头绪。最后重新做的,先是在windows上做了一遍,很快就搞定了,然后又在centos6上做了一遍,也没有很大的障碍。
所以,在以后学习一些陌生的东西的时候,开始不要求多,先把它基本的东西搞清楚,需要什么功能可以再慢慢往上添加,切记开始时候求多,结果因为太多不熟悉的东西,最后搞的一团糟。
阅读(2841) | 评论(0) | 转发(0) |