APACHE整合TOMCAT
来源:互联网 发布:unity3d ui界面设计 编辑:程序博客网 时间:2024/06/10 18:48
转自http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/与http://wenzhongxiang.blog.51cto.com/6370734/1285892 两篇文章
apache支持静态页,tomcat支持动态的,比如servlet等,
一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由tomcat来处理的。
apache可以支持php\cgi\perl,但是要使用java的话,你需要tomcat在apache后台支撑,将java请求由apache转发给tomcat处理。
apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache运行。
Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等)
Tomcat是Apache组织在符合J2EE的JSP、Servlet标准下开发的一个JSP服务器;
如果客户端请求的是静态页面,则只需要Apache服务器响应请求
如果客户端请求动态页面,则是Tomcat服务器响应请求
因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销
提升对静态文件的出来能力
利用WEB服务器做负载均衡以及容错
1,apache自带(mod_proxy、mod_proxy_balancer)
这是利用 Apache 自带的 mod_proxy 模块使用代理技术来连接 Tomcat。在配置之前请确保是否使用的是 2.2.x 版本的 Apache 服务器。因为 2.2.x 版本对这个模块进行了重写,大大的增强了其功能和稳定性。
1)mod_proxy:需要启用的模块有mod_proxy与与之相应的访问方式模块,比如http访问则启用mod_proxy_http_module模块(若是ajp访问则启用mod_proxy_ajp_module,若不知道,可以都开启)
http_proxy 模式是基于 HTTP 协议的代理,因此它要求 Tomcat 必须提供 HTTP 服务,也就是说必须启用 Tomcat 的 HTTP Connector。一个最简单的配置如下
ProxyPass 路由映射匹配模式并且匹配成功后转发
ProxyPassReverse 路由匹配映射后的转发请求到某个具体tomcat服务器(注意这里同样的路由只能出现一次,多次则以第一次为主,不能做负载均衡)
ProxyPass /images !ProxyPass /css !ProxyPass /js !ProxyPass / http://localhost:8080/
ProxyPass /test http://localhost:8080/test(若是ajp则可以改成ajp:localhost:8009/golf,请注意ajp则是ajp的宽阔,http则是http的端口)ProxyPassReverse /test http://localhost:8080/test
ProxyPass /images !ProxyPass /css !ProxyPass /js !ProxyPass / http://localhost:8080/
ProxyPass /test http://localhost:8080/test(若是ajp则可以改成ajp:localhost:8009/golf,请注意ajp则是ajp的宽阔,http则是http的端口)ProxyPassReverse /test http://localhost:8080/test
在这个配置中,我们把所有 http://localhost 的请求代理到 http://localhost:8080/ ,这也就是 Tomcat 的访问地址,除了 images、css、js 几个目录除外。
2)mod_proxy_balancer:需要开启的模块有mod_proxy,slotmem_shm_module,lbmethod_byrequests_module,加上何种形式访问的模块(http访问则http端口,ajp则ajp端口)
ProxyPass /images !ProxyPass /css ! ProxyPass /js !ProxyPass / balancer://example/<Proxy balancer://example/>BalancerMember http://localhost:8080/ route=tomcat1(路由可以选择不需要,还可以配置连接超时等,具体查看官方api)BalancerMember http://localhost:8081/ route=tomcat2BalancerMember http://localhost:8082/ route=tomcat3</Proxy>
ProxyPass /images !ProxyPass /css ! ProxyPass /js !ProxyPass / balancer://example/<Proxy balancer://example/>BalancerMember http://localhost:8080/ route=tomcat1(路由可以选择不需要,还可以配置连接超时等,具体查看官方api)BalancerMember http://localhost:8081/ route=tomcat2BalancerMember http://localhost:8082/ route=tomcat3</Proxy>
配置Balnacer Manager:
1,开启mod_status 模块
2,开启mod_proxy_balancer模块
3,配置拦截
<Location /balancer-manager>
SetHandler balancer-manager
order Deny,Allow
Allow from all
Allow from localhost
</Location>
注意:banlancer代理的过滤顺序是按照从上到下。
图 2:监控集群运行状态
采用 proxy 的连接方式,需要在 Apache 上加载所需的模块,mod_proxy 相关的模块有 mod_proxy.so、mod_proxy_connect.so、mod_proxy_http.so、mod_proxy_ftp.so、mod_proxy_ajp.so, 其中 mod_proxy_ajp.so 只在 Apache 2.2.x 中才有。如果是采用 http_proxy 方式则需要加载 mod_proxy.so 和 mod_proxy_http.so;如果是 ajp_proxy 则需要加载 mod_proxy.so 和 mod_proxy_ajp.so这两个模块。
3,JK(次方法比较复杂,而且要编译mod_jk.so模板文件,建议使用apache自带的)
去apache官网下载(http://tomcat.apache.org/download-connectors.cgi)自己操作系统对应JK插件与源码包(源码包主要是有个demo可以让你按照demo配置JK)
1,解压JK源码,找到{%JK_HOME}/conf目录
2,配置APACHE WEB服务器 在httpd.conf文件尾端加入
Include E:/mod-jk/conf/httpd-jk.conf({%JK_HOME}/conf/httpd-jk.conf路径)
3,配置httpd-jk.conf文件(按照demo修改该修改的地方)
1)这里主要修改JK插件文件的地址与相关的日志文件地址
2)在httpd-jk.conf文件中部修改URL MAP映射:如
JkMount /*.jsp balancer (/*.jsp代表过滤jsp结尾的URL balancer代表按照哪个worker工作做来执行解析。worker配置在同级目录下的workers.properties文件)
JkMountCopy On (开启URL映射)
3)配置workers.properties文件,可以按照demo提供的来修改自己想要的,具体怎么修改可以按照官方API来修改:
我提供一个简单的自己的demo
worker.list=balancer
worker.balancer.type=lb
worker.balancer.balance_workers=node1,node2
worker.node1.activation=A
worker.node1.reference=worker.template
worker.node1.host=localhost
worker.node1.port=8009
worker.node2.reference=worker.template
worker.node2.activation=A
worker.node2.host=localhost
worker.node2.port=8010
worker.template.type=ajp13
- Tomcat和Apache整合
- tomcat,apache 整合(摘抄)
- TOMCAT+APACHE整合
- Tomcat+apache整合(原创)
- 整合tomcat和apache
- 整合Apache+Tomcat服务器
- 整合Apache+Tomcat+MySQL
- 整合tomcat和apache
- apache+tomcat+mod_jk整合
- 整合apache tomcat服务器
- Apache与Tomcat整合
- apache、tomcat整合笔记
- APACHE整合TOMCAT教程
- tomcat和apache整合
- 整合apache tomcat服务器
- apache与tomcat整合
- Apache + Tomcat 整合
- 整合Apache和Tomcat
- 117F9E9C
- 嵌入式 uboot第二阶段启动流程小结以及在uboot添加自定义命令
- windows套接字(socket)TCP篇
- 【职场酸甜苦辣咸】辞职总结
- openfire smack监听器
- APACHE整合TOMCAT
- POJ 上网上搜到的总结帖
- 修改项目的文件编码
- System.Threading.Tasks.TaskCanceledException: 已取消一个任务
- 统计数字出现的次数,最大次数的统计出来
- ubuntu12.04循环登录,无法进桌面的问题
- 调节IOS系统的音量
- 嵌入式 hi3518c平台uboot中start.s小结
- 二维码生成软件qrencode的安装与试用