apache+tomcat配置负载均衡,实现http与websocket接口分压

一、应用场景

在生产环境中,应用服务器(此文以tomcat为例)不免面临高访问量的压力,相比而言web服务器(此文以apache为例)能够承担更大的并发量。Apache本身带有一些模块,可以完成对应用服务器访问流量分流分压的功能。这里就以apache+tomcat配置负载均衡的方式,实现http与websocket接口分压的效果。

二、系统环境

服务器:阿里云ECS服务器;

操作系统:ubuntu 14;

应用服务器:tomcat 8.5+;

Web服务器:apache 2.4+;

三、Tomcat配置

从tomcat官网下载压缩包,解压为两个tomcat实例(分别为tomcat-8080与tomcat-8082)。

a) 修改tomcat-8080的配置文件(conf/server.xml)

 <Connector port=”8080″ protocol=”HTTP/1.1″

               connectionTimeout=”20000″

               redirectPort=”8443″ URIEncoding=”UTF-8″ />

 <Connector port=”8010″ protocol=”AJP/1.3″

redirectPort=”8443″ URIEncoding=”UTF-8″ />

 <Engine name=”Catalina” defaultHost=”localhost”jvmRoute=”jvm8080″>

四、修改tomcat-8082的配置文件(conf/server.xml)

 <Connector port=”8082″ protocol=”HTTP/1.1″

               connectionTimeout=”20000″

               redirectPort=”8443″ URIEncoding=”UTF-8″ />

 <Connector port=”8012″ protocol=”AJP/1.3″

redirectPort=”8443″ URIEncoding=”UTF-8″ />

 <Engine name=”Catalina” defaultHost=”localhost”jvmRoute=”jvm8082″>

五、Apache配置

a) 开启模块

a2enmod proxy*

a2enmod lbmethod*

a2enmod xml2enc

b) 配置vhost

i. 在site-enabled下创建文件balance.conf

ii. 在ports.conf开启代理端口(此处以82为例)

iii. 内容编辑如下:websocket的负载均衡要在ajp的负载均衡之前。

#配置端口

<VirtualHost *:82>

 

ServerAdmin webmaster@localhost

DocumentRoot /var/www/html

 

###########负载均衡配置开始###########

ProxyRequests Off

    ProxyPass /balancer-manager !

 

###一、配置websocket的负载均衡###

<Proxy balancer://wscluster>

     BalancerMember ws://localhost:8080

     BalancerMember ws://localhost:8082

</Proxy>

 

#代理项目的weboscket接口

ProxyPass /project/wsApi  balancer://wscluster/project/wsApi

    ProxyPassReverse /project/wsApi  balancer://wscluster/project/wsApi

 

###二、配置常规负载均衡###

<Proxy balancer://tomcatcluster>

    BalancerMember ajp://127.0.0.1:8010 route=jvm8080

BalancerMember ajp://127.0.0.1:8012 route=jvm8082

   ProxySet lbmethod=byrequests  stickysession=JSESSIONID|jsessionid  nofailover=On scolonpathdelim=On

    </Proxy>

 

#代理websocket接口外的其他请求

    ProxyPass /  balancer://tomcatcluster/

    ProxyPassReverse /  balancer://tomcatcluster/

 

 

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

 

#展示负载均衡的管理页面

<Location /balancer-manager>

        SetHandler balancer-manager

</Location>

###########负载均衡配置结束###########

 

</VirtualHost>

c) 启动与查看

启动tomcat,启动apache

通过ip:82/balancer-manager,可以查看配置是否成功,与分流效果。

 来自:李德涛博客

转载于:https://www.cnblogs.com/zytrue/p/8496887.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值