`
hvang1988
  • 浏览: 51323 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

windows实现apache+tomcat集群

阅读更多
好消息,百度网盘专业搜索网站上线了
打开瞧一瞧:http://bitar.cn

【只集群,未处理session问题】

apache http server 反向代理 实现集群


apache http server2.4.16 下载地址:http://httpd.apache.org/
1、下载
2、下载代理组件mod_jk
3、tomcat配置
4、配置apache
5、安装启动apache
6、出现问题
7、session复制
8、更多
==============
1、下载apache软件
	apache http server web官网没有提供windows64位,下边这个网站稳定编译发布64位的
	http://www.apachelounge.com/download/
	直接解压
2、下载mod_jk 代理组件
	mod_jk tomcat-connector1.2.40下载地址
	http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/
	解压后 把mod_jk.so 复制到apache modules 下
3、配置tomcat
	 
	<Engine name="Catalina" //用于设置容器级别
	<Engine name="Standalone" //用于集群和负载
	开启server.xml下边两个配置
	<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat2"> 不影响负载通过端口连接识别的
	<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
	一台机器防止服务端口和负载端口冲突
	<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />	
	#AJP(Apache JServ Protocol)是定向包协议,因为性能原因,使用二进制格式来传输可读性文本
4、配置apache2.4
	-----------Apache+mod_jk方式实现负载均衡---------------
	httpd.conf  下边需按实际修改
		Require all denied 拒绝访问文件系统 Require all granted允许外网访问
		ServerRoot "E:/balance/apache/Apache24"
		ServerName 127.0.0.1:80   #标示本身
		Listen 80
		DocumentRoot "E:/balance/apache/Apache24/htdocs"
		ScriptAlias /cgi-bin/ "E:/balance/apache/Apache24/cgi-bin/"
		最后加入(参考:httpd.conf最后加入内容↓)
	新建workers.properties (配置负载)
	    	内容参考(workers.properties 内容)
	---------Apache proxy,mod_proxy只实现请去跳转到其他服务器,没有负载均衡------------------------------
		mod_proxy_balancer是mod_proxy的扩展,提供负载平衡支持
5、启动
	win7 64位 可能会提示vcruntime140.dll\api ms win crt runtime 1-1-0.dll缺失 安装vc_redist.x64.exe
	INSTALL.txt 中说明了linux和window启动方式(Running Apache as a Service)
	安装windows服务 (如果没有提示错误就成功,否则需先处理提示的错误 )
		httpd.exe -k install
		httpd.exe -k install -n "MyServiceName" #一台多服务,指定服务名称
		httpd.exe -k install -n "MyServiceName" -f "c:\files\my.conf" #默认conf\httpd.conf
		httpd.exe -f files\anotherconfig.conf #相对路径
		httpd.exe -k uninstall 卸载 sc delete Apache2.4
		httpd.exe -k uninstall -n "MyServiceName"
		httpd.exe -n "MyServiceName" -t 测试
	启动	
		httpd.exe -k start -n "MyServiceName"
		httpd.exe -k stop -n "MyServiceName"
		httpd.exe -k shutdown -n "MyServiceName"
		httpd.exe -k restart -n "MyServiceName"
	安装:	httpd.exe -k install  #Apache2.4
	启动:httpd.exe -k start
6、问题
	1)64位tomcat7在win7上运行提示Can't load AMD 64-bit .dll on a IA 32-bit platform
		问题:编译的cup不同,
		所以使用32位的tomcat做的集群
	
	
===============Apache+mod_jk方式实现负载均衡========================================================
================httpd.conf最后加入内容↓=======================

#导入和追加
# JK module settings 使用导入文件方式
#Include conf/mod_jk.conf 下边直接追加方式不用mod_jk.conf文件

# Load mod_jk2 module 加载mod_jk.so
LoadModule jk_module modules/mod_jk.so 
#判断是否加载mod_jk.so
<IfModule jk_module>
	# Where to find workers.properties( 引用 workers 配置文件 )
	JkWorkersFile conf/workers.properties
	#加载workers的请求处理分配文件
	#JkMountFile conf/uriworkermap.properties

	<Location /status/>
	    JkMount jkstatus
	    Order deny,allow
	    Deny from all
	    Allow from 127.0.0.1
	    #可禁用ip 参考http://stackoverflow.com/questions/29313092/mod-jk-failing-to-create-ajp13-extension-fixjk-uri-worker-map-c-could-not-fin
	    #status查看apache配置http://127.0.0.1/status/ 访问
	 </Location>

	# Where to put jk logs(log 文件路径 )
	JkLogFile logs/mod_jk2.log
	# Set the jk log level [debug/error/info](log 级别 )
	JkLogLevel error
	# Select the log format(log 格式 )
	JkLogStampFormat "[%F %T] "
	# JkOptions indicate to send SSL KEY SIZE,
	JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
	# JkRequestLogFormat set the request format
	JkRequestLogFormat "%w %V %T"
	# Send JSPs for context / to worker named loadBalancer(URL 转发配置,匹配的 URL 才转发到 tomcat 进行处理 )
	JkMount /*.* controller
	#JkMount /*.* loadBalancer
</IfModule>
---------JkRequestLogFormat 选项---------------------
#Options Description(选项的说明)
# %b 发送的字节, 不包括 HTTP headers (CLF format) 
# %B 发送的字节, 不包括 HTTP headers 
# %H 协议 
# %m 请求方式(get/post) 
# %p 服务器响应请求的规范端口. 
# %q 查询字符串 (如果存在以?开头,否则是空串) 
# %r 请求的第一行. 
# %s HTTP状态码 
# %T 请求间隔, 处理请求耗费的时间 秒.微秒 
# %U 请求的url路径,不包含查询字符串. 
# %v 响应请求的规范服务器名字 
# %V 根据UseCanonicalName设置的服务器名字. 
# %w Tomcat worker 名字 

-----uriworkermap.properties------------
	doc:http://tomcat.apache.org/connectors-doc/reference/uriworkermap.html
	/*=controller            #所有请求都由controller这个server处理
	/jkstatus=status         #所有包含jkstatus请求的都由status这个server处理
	!/*.gif=controller       #所有以.gif结尾的请求都不由controller这个server处理,以下几个都是一样的意思
	!/*.jpg=controller
	!/*.png=controller
	!/*.css=controller
	!/*.js=controller
	!/*.htm=controller
	!/*.html=controller
	#这里的"!”类似于java中的"!”,是“非”的意思。
====================workers.properties 内容===================
#server 列表
worker.list = controller,tomcat1,tomcat2

# tomcat1(ajp13 端口号,在tomcat下server.xml配置,默认8009)

worker.tomcat1.port=8009

#tomcat 的主机地址,如不为本机,请填写ip地址

worker.tomcat1.host=localhost

worker.tomcat1.type=ajp13

#server 的加权比重,值越高,分得的请求越多

worker.tomcat1.lbfactor = 1

# tomcat2

worker.tomcat2.port=9009

worker.tomcat2.host=localhost

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor = 1

# controller( 负载均衡控制器)

worker.controller.type=lb

# 指定分担请求的tomcat

worker.controller.balance_workers=tomcat1,tomcat2

#worker.controller.sticky_session=true or 1
#会话只在一台服务器上sticky/'stiki/粘性
worker.controller.sticky_session=true
worker.controller.sticky_session_force=false
#设置运行状态的控制器   (网站访问apache状态type=status)
worker.jkstatus.type=status  
====================workers.properties 结束===================
7、
	
8、更多
	访问客户端访问apache服务器,代理模块反向代理客户端访问tomcat
session复制
	session复制(session replication)机制将session发到其他所有结点上,用户数量和集群数量导致性能瓶颈
	通过第三方缓存来存放session数据
现象:
	apache只存储了一个tomcat1的session,这时直接访问tomcat2会导致访问tomcat1的session失效?只能
	就是sticky_session控制的?session只能在一台电脑




分享到:
评论

相关推荐

    apache+tomcat集群配置

    Apache + Tomcat 集群配置 Apache + Tomcat 集群配置是指将 Apache 服务器与 Tomcat 服务器集成,以提高服务器的性能和可扩展性。本文将详细介绍如何配置 Apache + Tomcat 集群,包括安装 Apache 和 Tomcat 服务器...

    反向代理负载均衡 Apache + Tomcat集群

    反向代理负载均衡 Apache + Tomcat集群 多的我也不多说了 看文档

    Apache+Tomcat集群配置

    Apache+Tomcat集群配置,Apache+Tomcat集群配置,Apache+Tomcat集群配置

    Apache+Tomcat集群

    Apache+Tomcat集群是一种常见的Web服务器和应用服务器集群架构,用于提高网站的可用性和可扩展性。Apache作为前端服务器,负责接收客户端的HTTP请求,并根据配置的负载均衡策略将这些请求转发给后端的多个Tomcat实例...

    Apache+Tomcat服务器集群配置详细步骤

    本文将详细介绍如何在一机双Tomcat环境下搭建Apache+Tomcat集群,并深入解析其中的关键配置和技术细节。 #### 二、Apache+Tomcat集群的优势 1. **高可靠性(HA)**:通过集群管理软件实现在主服务器发生故障时,备份...

    Apache+Tomcat集群配置续

    Apache+Tomcat集群配置续Apache+Tomcat集群配置续Apache+Tomcat集群配置续Apache+Tomcat集群配置续

    Apache+Tomcat+Linux集群和均衡负载(Session同步复制

    Apache+Tomcat+Linux集群和均衡负载(Session同步复制

    apache+tomcat集群

    apache+tomcat集群 配置使用方法

    apache+tomcat集群文档

    - 本文档针对Apache Tomcat集群配置进行了详尽的说明,特别适合新手入门学习,通过本文档能够快速掌握Apache Tomcat集群的基本概念、搭建步骤及注意事项。 #### 知识点详解: ##### 一、集群基础知识 1. **学习...

    apache+tomcat+jk 均衡负载和集群

    Apache+Tomcat+JK是一个常见的Web服务器和应用服务器集群解决方案,用于实现负载均衡和高可用性。这个配置中,Apache作为前端反向代理服务器,Tomcat作为后端的应用服务器,而JK模块是Apache与Tomcat之间的连接器,...

    实现apache+tomcat集群和负载均衡的比较

    总之,Apache+Tomcat集群和负载均衡的实现能够显著提升Web服务的可用性和性能,通过灵活选择负载均衡策略和模块,可以适应各种复杂的业务场景。在实际操作中,还需要不断调整和优化,以达到最佳的效果。

    Apache+Tomcat+Linux集群和负载均衡

    - 通过浏览器访问`http://172.16.116.1/index.jsp`,检查是否能够成功访问,并观察日志文件确认请求是否被正确地分发至Tomcat集群中的不同节点。 #### 四、注意事项 1. **权限问题**: 确保所有操作均以具有足够...

    apache+tomcat集群技术总结

    4. **本地配置Apache + Tomcat集群** - **环境说明**:在这个例子中,我们有一个Apache服务器和两个Tomcat实例,以及mod_jk模块用于两者之间的通信。 - **安装与配置**: - 安装Apache和Tomcat,确保版本匹配。 ...

    Apache+Tomcat集群和负载均衡及Session绑定

    【Apache+Tomcat 集群与负载均衡及Session...通过以上配置,Apache+Tomcat集群可以实现高效的负载均衡和高可用性,同时通过Session绑定确保用户会话的连续性。注意定期监控和优化集群性能,以应对不断变化的业务需求。

Global site tag (gtag.js) - Google Analytics