Ngnix+Tomcat集群

1.nginx简介:

    Nginx是一款轻量级的Web服务器,也是一款轻量级的反向代理服务器。

官方测试 nginx 能够支撑5万并发链接,并且 cpu、内存等资源消耗却非常低,并发能力强,运行非常稳定。

2.Nginx能干什么:(很多)

    1.直接支持Rails和PHP的程序

    2.作为HTTP反向代理服务器

    3.作为负载均衡服务器

    4.作为邮件代理服务器

    5.帮助实现前端动静分离

3.Nginx安装

http://www.runoob.com/linux/nginx-install-setup.html

4.Nginx的基本运行

测试配置文件:

    安装路径下的/usr/local/webserver/nginx/sbin/nginx -t

启动:

    安装路径下的/usr/local/webserver/nginx/sbin/nginx

停止:

    安装路径下的/usr/local/webserver/nginx/sbin/nginx  -s  stop 

    或者 nginx -s quit

重启:

    安装路径下的/usr/local/webserver/nginx/sbin/nginx -s  reload

安装后,如果外面访问不了

    /sbin/service iptables stop

5.Nginx Http反向代理

    Nginx通常用来作为后端服务器的反向代理,这样快就很方便的实现动静分离以及负载均衡,从而大大提高服务器的处理能力

    Nginx正向代理与反向代理的区别:

    两者的区别在于代理的对象不一样:正向代理代理的对象是客户端,反向代理代理的对象是服务端

Ngnix+Tomcat集群_第1张图片

6.Tomcat负载均衡配置

Nginx启动时默认加载配置文件/etc/nginx/nginx.conf,而nginx.conf里会引用/etc/nginx/conf.d目录里的所有.conf文件。

因此可以将自己定制的一些配置写到单独.conf文件里,只要文件放在/etc/nginx/conf.d这个目录里即可,方便维护。

创建tomcats.conf:vi /etc/nginx/conf.d/tomcats.conf

7.Nginx负载均衡特点

    轮询(默认):

        实现简单,但是不考虑每台服务器处理能力

upstream www.happymall.com{

    server www.happymall.com:8080;

    server www.happymall.com:9080;

}

    权重:(使用的最多)

        考虑了每台服务器处理能力的不同

upstream www.happymall.com{

    server www.happymall.com:8080 weight=15;

    server www.happymall.com:9080 weight=10;

}

8080端口访问的概率是9080的1.5倍

    ip hash:

        能实现同一个用户访问同一个服务器,但是ip hash不一定平均

upstream www.happymall.com{

    ip_hash;

    server www.happymall.com:8080;

    server www.happymall.com:9080;

}

    url hash(第三方,需要安装插件)

        能实现同一个服务访问同一个服务器,

        但是根据 url hash分配请求会不平均,请求频繁的url会请求到同一个服务器上

upstream www.happymall.com{

    server www.happymall.com:8080;

    server www.happymall.com:9080;

    hash $request_uri;

}

    fair (第三方,需要安装插件)

        按后端服务器的相应时间类分配请求,相应时间短的优先分配

upstream www.happymall.com{

    server www.happymall.com:8080;

    server www.happymall.com:9080;

    fair;

}

8.负载均衡参数扩展

upstream www.happymall.com{

    ip_hash;

    server 127.0.0.1:8080 down; (down表示当前server暂时不参与负载)

    server 127.0.0.1:9080 weight=2;(weight默认为1,weight越大,负载的权重就越大)

    server 127.0.0.1:6080;

    server 127.0.0.1:7080 bakcup;(其他所有的非backup机器down或者忙的时候,请求backup机器,相当于是备用机器)

}

9.Nginx+Tomcat搭建集群

    1.启动两个tomcat

    2.修改系统的host(浏览器所在机器的host)

    3.编辑在${nginx}/conf/nginx.conf配置文件,在htttp节点里面增加

        include vhost/*.conf;

Ngnix+Tomcat集群_第2张图片

    4.在${nginx}/conf目录下创建文件夹vhost

Ngnix+Tomcat集群_第3张图片

5.重启ngnix:  ./nginx -s reload

 

10Tomcat集群作用:

提高服务的性能、并发能力,以及高可用性

提供项目架构的横向扩展能力

11.实现:通过Nginx负载均衡进行请求转发

12.Tomcat单机部署多应用(linux/mac)

1.修改/etc/profile 增加tomcat环境变量 (/opt/tomcat-cluster/tomcat1,/opt/tomcat-cluster/tomcat2是安装位置)

    export CATALINA_BASE=/opt/tomcat-cluster/tomcat1

    export CATALINA_HOME=/opt/tomcat-cluster/tomcat1

    export TOMCAT_HOME=/opt/tomcat-cluster/tomcat1

    export CATALINA_2_BASE=/opt/tomcat-cluster/tomcat2

    export CATALINA_2_HOME=/opt/tomcat-cluster/tomcat2

    export TOMCAT_2_HOME=/opt/tomcat-cluster/tomcat2

2.第一个tomcat不变

    打开第二个tomcat目录下bin下的catalina.sh

        即${tomcat}/bin/catalina.sh 找到 #OS specific support. $var _must_be setto either true or false

        在这行下面编辑,新增配置 保存退出

        export CATALINA_BASE=$CATALINA_2_BASE

        export CATALINA_HOME=$CATALINA_2_HOME

3.打开第二个tomcat的conf目录下server.xml

    即${tomcat}/conf/server.xml,修改三个端口

   3.1 Server Port="8005"节点端口号修改 ->9005

   3.2 Connector Port="8080"节点端口号修改 ->9080

   3.2 Connector port="8009" protocol="8009"节点端口号修改 ->9009

注意端口号不要重复

4.分别进入bin目录启动,启动tomcat,查看日志

5.如果想部署多个tomcat实例,请依照此法

// 修改端口对外访问

vi /etc/sysconfig/iptables

增加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 9080 -j ACCEPT

 

Ngnix+Tomcat集群_第4张图片

 

你可能感兴趣的:(ngni)