高性能web架构之Nginx+tomcat 配置tomcat集群和反向代理

来源:互联网 发布:用matlab解矩阵方程组 编辑:程序博客网 时间:2024/06/09 15:44

 

高性能web架构之

Nginx+tomcat 配置tomcat集群和反向代理

因为tomcat并发数量为300-500,nginx 的理论并发可以达到5000, 这样可以利用nginx进行代理tomcat集群. 理论上最多可以以1:100的比例配置集群

安装nginx

1.        首先安装依赖

检查是否有gcc

如果没有yum install -y gccgcc-c++ 安装

·        1. gzip需要 zlib ( 下载:http://www.zlib.net/ )  zlib-1.2.8.tar.gz

·        2. rewrite需要 pcre ( 下载:http://www.pcre.org/ )  pcre-8.37.tar.gz

·        3. ssl需要 openssl ( 下载:http://www.openssl.org/ )  openssl-1.0.1.tar.gz

2.        按顺序安装openssl:

    tar-xzvf openssl-1.0.1.tar.gz

    cdopenssl-1.0.1

   ./config && make && make install

   

3.        安装pcre:

   tar -xzvf pcre-8.37.tar.gz

    cdpcre-8.37

   ./configure  && make&& make install

   

4.        安装zlib:

   tar -xzvf zlib-1.2.8.tar.gz

    cdzlib-1.2.8

   ./configure  && make&& make install

 

5. 创建用户和组

useradd nginx

groupadd nginx

 

 

6.        进入nginx-1.9.12设置编译信息

cd nginx-1.9.12

./configure--sbin-path=/nginx/nginx-1.9.12/sbin --conf-path=/nginx/nginx-1.9.12/nginx.conf--pid-path=/nginx/nginx-1.9.12/nginx.pid --with-http_ssl_module --with-pcre=../pcre-8.37 --with-zlib=../zlib-1.2.8 --with-openssl=../openssl-1.0.1r  --with-http_stub_status_module  --user=nginx --group=nginx

 

7.        编译nginx

make&& make install

8.        启动

./nginx-c /nginx/nginx-1.9.12/nginx.conf

9.        启动成功后

访问http://127.0.0.1:80/ 如果出现Welcometo nginx! 则启动成功, 如果启动不起来,检查端口是否被占用,默认为80, 可以在nginx.conf配置文件中修改

 

到此nginx安装完毕

安装JDK

下载 jdk  jdk-7-linux-i586.rpm

rpm  -i  jdk-7-linux-i586.rpm

安装好后环境变量自动配置好了,如果是解压版需要配置环境变量.

测试 java  javac 命令是否好用,

安装tomcat

这里使用解压版apache-tomcat-6.0.29.zip

解压到不同目录两个tomcat-01  tomcat02 并修改对应端口号8080 和 8009 改成其他的

进入tomcat-01 bin 目录执行

chmod +x *.sh 给sh赋权限

进入tomcat-02 bin 目录执行

chmod +x *.sh 给sh赋权限

启动tomcat01,02

./startup.sh

配置nginx负载均衡

 

配置两个tomcat

 

添加一个location 过滤jsp 以及.do 交给tomcat 处理


访问nginx 

一直刷新,因为在两个tomcat放的应用,同一个jsp修改成了不同内容,可以分辨出不同的tomcat访问.


因为两个tomcat的权重一样,基本上是一次1,一次2…

 

这样就完成了tomcat 集群配置

 

实际上这还没有完,后边会配置tomcat+redis集群的session 共享

2 0