CentOs6下nginx与tomcat的配置(精简版)



实现了负载均衡和session共享
1 、 jdk 的安装配置:
jdk 的版本为: jdk-6u31-linux-i586.bin
mkdir /usr/java
将下载的 jdk-6u31-linux-i586.bin 复制到 /usr/java 目录下
cp jdk-6u31-linux-i586.bin /usr/java
安装
./ jdk-6u31-linux-i586.bin
 
安装后的配置环境变量:
vi /etc/profile
在文件最后添加:
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
使环境变量马上生效  www.2cto.com  
source /etc/profile
 
2 、 tomcat 的安装配置:
tomcat 版本: apache-tomcat-6.0.35.tar.gz
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 http://nginx-upstream-jvm-route.googlecode.com/files/nginx-upstream-jvm-route-0.1.tar.gz
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;  www.2cto.com  
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  www.2cto.com  
分别修改 tomcat1 和 tomcat2 下的 index.html ,在 <body> 下面一行加上分别加上 tomcat1 和 tomcat2 。
然后访问 :http://localhost
 
就可以查看访问的是哪个 tomcat ,多访问几次就可以发现 tomcat1 和 tomcat2 的比例大约为 1 : 2
PS:这次配置浪费了很多时间,主要是开始的时候什么参数都想加上,结果最后都不知道到底加上了什么,搞乱了之间的关系,没有了什么头绪。最后重新做的,先是在windows上做了一遍,很快就搞定了,然后又在centos6上做了一遍,也没有很大的障碍。
 
所以,在以后学习一些陌生的东西的时候,开始不要求多,先把它基本的东西搞清楚,需要什么功能可以再慢慢往上添加,切记开始时候求多,结果因为太多不熟悉的东西,最后搞的一团糟。
 
 
 
作者 yl1003

相关内容

    暂无相关文章