apache 负载均衡_windows apache 实现负载均衡
大家好,又见面了,我是你们的朋友全栈君。
最近做的一个项目可能需要用Aapche实现访问请求分流提高访问性能。因此自己研究了一下。现在把我自己配置成功的过程分享一下。 首先要下载Apache. 建议从官网下载http://httpd.apache.org/download.cgi 我安装的是最新的版本2.4.25。 安装方法参照http://jingyan.baidu.com/article/29697b912f6539ab20de3cf8.html
之前在网上找到的配置方法一般是需要安装mod_jk,配置worker.properties的,这种方法是早期的apache的配置方式。现在的2.4.25已经集成了mod_jk,不需要安装mod_jk配置worker.properties了,简单了很多。
- 项目准备 负载均衡就是把所有用户的访问压力分散到多台服务器上,也可以分散到多个tomcat里。 现在只是做的一个测试例子,所以apache,tomcat都是装在我的电脑上,我的IP是172.16.X.X 首先要创建一个web项目,在项目的web.xml中需要加上以下配置,表明该应用可多应用分流处理,能进行Session的复制。
<display-name>TomcatClusterDemo</display-name>
<distributable/>
把项目放到到tomcat1、tomcat2的webapps目录下。
我的目标是要用两个tomcat(tomcat1,tomcat2)来进行分流,这两个Tomcat的端口、AJP等配置要不一样。 tomcat1的server.xml:
<Server port="10005" shutdown="SHUTDOWN">
<Connector port="10001" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="20001" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
tomcat2的server.xml
<Server port="10006" shutdown="SHUTDOWN">
<Connector port="10002" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="20002" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2">
- 修改httpd.conf 在Apache安装目录下找到Apache24/conf/下的 httpd.conf,去掉以下文本前的注释符(#)以便让Apache在启动时自动加载代理(proxy)模块。 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule slotmem_shm_module modules/mod_slotmem_shm.so LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
去掉 Include conf/extra/httpd-vhosts.conf前面的注释#,
在httpd.conf文档最下面加上以下代码:
ProxyRequests Off
<Proxy balancer://mycluster>
BalancerMember ajp://172.16.X.X:20001/ loadfactor=1 route=jvm1
BalancerMember ajp://172.16.X.X:20002/ loadfactor=1 route=jvm2
</Proxy>
这里的配置是跟tomcat的server.xml配置对应的。172.16.X.X是tomcat服务器的IP,端口号对应tomcat中server.xml里的ajp的端口号,route对应jvmRoute的配置。
3.用文本编辑器打开conf/extra/httpd-vhosts.conf,配置虚拟站点,在最下面加上以下代码:
<VirtualHost *:80>
ServerName 172.16.X.X
ServerAlias localhost
ProxyPass / balancer://mycluster/ stickysession=jsessionid nofailover=On
ProxyPassReverse / balancer://mycluster/
ErrorLog "logs/lbtest-error.log"
CustomLog "logs/lbtest-access.log" common
</VirtualHost>
到这里配置就基本上完成了。 然后写个测试页面test.jsp放到两个tomcat的项目里测试:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>Cluster App Test</title></head>
<body>
Server Info:
<% out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
<% out.println("<br> ID " + session.getId()+"<br>"); // 如果有新的 Session 属性设置 System.out.println( "=========test=========="); %>
</table>
</form>
</body>
</html>
重启apache,tomcat1,tomcat2, 在浏览器输入http://172.16.X.X/test.jsp ,然后多刷新几次。
参考文章: http://www.cnblogs.com/qqzy168/archive/2013/08/03/3199237.html http://bbs.it-home.org/thread-40372-1-1.html http://googolflex.com/?p=492
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/197850.html原文链接:https://javaforall.cn
相关文章
- 大数据Apache Druid(四):使用Imply进行Druid集群搭建
- Apache JackRabbit 入门初体验
- RabbitMQ VS Apache Kafka (九)—— RabbitMQ集群的分区容错性与高可用性
- Apache配置虚拟主机_apache启动但是访问不到
- Apache EventMesh事件驱动分布式运行时
- 详解 Apache Pulsar 消息生命周期
- 2022 IoTDB Summit:华为王超《Apache IoTDB 在华为云的实践》
- Apache报错:无法使用可靠的服务器域名
- 服务Linux下重启Apache服务的步骤(linux重启apache)
- 在Windows环境下启动MySQL服务(windows启动mysql服务)
- windows比较Linux与Windows:谁占上风?(linuxvss)
- 、windows切换就出:双系统 Linux 与 Windows(双系统linux)
- and windows切换Linux和Windows系统:实现自由转换(swaplinux)
- 深度剖析阿里巴巴对 Apache Flink 的优化与改进
- Apache服务安装和配置
- Linux与Windows:哪个更优秀?(linux好还是windows好)
- 同时安装Windows和Linux双系统(windows装linux双系统)
- 解决多种web问题Linux下Apache解决多种Web问题:让你的网络更安全可靠(linux下apache)
- Linux与Windows的文件夹共享(linux和windows共享文件夹)
- Windows上安装MongoDB:一步一步分解(windows安装mongodb)
- 使用Apache和MSSQL构建强大的数据库系统(apache mssql)
- MySQL在Windows下的离线安装(windows mysql)
- 以Apache、MySQL和PHP组成的最强技术栈(apache mysql php)
- Linux轻松移植文件至Windows(从linux下载文件到windows)
- Linux优越于Windows:更安全、更稳定、更灵活(linux比windows的优势)
- 通过Linux在台式机上安装Windows的指南(linux安装windows)
- 比较:Linux和Windows哪更适合你?(linux和windows哪个好)
- UNIX下的PHP环境配置,+apache
- JAVA/JSP学习系列之三(Resin+Apache的安装)
- Apache+PHP4.0+Sybase安装文档
- windows下Apache+MySql+PHP3+PHP4+PERL安装配置
- Windows下Apache+MySQL+PHP运行环境的安装图文方法
- 优化Apache服务器性能的方法小结
- apache中为php设置虚拟目录