Linux环境下整合Apache和Tomcat
2018-03-08 22:51
459 查看
1、前言:
在开发项目的时候,因为目前接触的大多都是一些小项目,都是通过php就完成了后端的开发。但是这次因为需求,采用了java编写后端,因此就设计到了Apache和Tomcat的整合。尽管在整合的过程中遇到了很多问题,也花了一些时间,但是收获也是不少的,这里来总结一下2、Tomcat和Apache的区别和联系:
关于他们的区别和联系,网上的资料很多,这里就简单的用自己的话概述一下。Apache和Tomcat最重要的区别就是前者负责静态资源的加载,而后者负责动态资源的加载。当客户端向服务器发送一个请求的时候,Apache服务器判断是请求的是静态资源还是动态资源,如果是静态资源,自己就负责加载,如果是动态资源,就交给Tomcat加载。在了解这个的时候,看到一个博主举的一个例子很好,Apache是一个大卡车,那么Tomcat就是一个水桶。卡车上可以装各种各样的东西,但是如果需要装水,则需要放在水桶,再放上车。3、Tomcat和Apache整合方式:
关于他们的安装这里就不说了,如果是centos,使用免费的yum工具安装是很简单的。这里说一下他们的整合。关于他们的整合方式一共有三种1. mod_jk
mod_jk 是通过 AJP 协议与 Tomcat 服务器进行通讯的,Tomcat 默认的 AJP Connector 的端口是 8009。JK 本身提供了一个监控以及管理的页面jkstatus,通过 jkstatus 可以监控 JK 目前的工作状态以及对到 tomcat 的连接进行设置;
2. http_proxy
这是利用 Apache 自带的 mod_proxy 模块使用代理技术来连接Tomcat。在配置之前请确保是否使用的是 2.2.x 版本的 Apache 服务器。因为 2.2.x版本对这个模块进行了重写,大大的增强了其功能和稳定性。
3. ajp_proxy
ajp_proxy 连接方式其实跟 http_proxy 方式一样,也是由 mod_proxy 所提供的功能,但是通过 AJP 协议与 Tomcat 服务器进行通讯的,这一点又与mod_jk相同。
从稳定性和可靠性的综合考虑,现在大多数采用的是第一种方式。下面也将采用第一种方式来整合。
使用mod_dk对Tomcat和Apache整合
下载mod_dj.so并放在modules文件夹下,关于mod_dj.so,自己花了很长时间才搞定。最开始通过积分下载的32位的,在启动服务器的时候报错。后来就下载源码进行编译,在编译过程又遇到aclocal丢失现象。为了给读者节约时间,这里就把资源免费提供给大家链接: https://pan.baidu.com/s/10yeVvm-CoOeAkvbBfOIxxA 密码: g63a
有了关键的文件以后,就是配置了,配置方式也很简单,将下面的代码添加在httpd.conf就可以了
# 引入mod_jk.so文件 LoadModule jk_module modules/mod_jk.so #这里是workers.properties的位置,和httpd.conf的位置相同 JkWorkersFile /etc/httpd/conf/workers.properties #日志文件存放位置 JkLogFile /etc/httpd/logs/mod_jk.log JkMount /*WEB-INF worker1 JkMount /*j_spring_security_check worker1 JkMount /*.action worker1 JkMount /servlet/* worker1 JkMount /*.jsp worker1 JkMount /*.do worker1 JkMount /*.action worker1 JkMount /*fckeditor/editor/filemanager/connectors/*.* worker1 JkMount /fckeditor/editor/filemanager/connectors/* worker1
在httpd.conf的相同目录下新建一个workers.properties文件,代码如下
# 命名 worker.list=worker1 # 设置属性 worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 worker.worker1.lbfactor=50 worker.worker1.cachesize=10 worker.worker1.cache_timeout=600 worker.worker1.socket_keepalive=1 worker.worker1.socket_timeout=300
最后记得重启服务器
我们重启服务器以后,在Tomcat目录下放的静态文件,Apache是不会加载的。在Apache下面放的jsp文件,Tomcat也是不会加载的。所以在放我们的代码文件的时候,需要分开放
(完)
相关文章推荐
- linux下apache与tomcat整合
- (转)Linux整合apache和tomcat构建Web服务器
- 在 Linux 下整合 Apache 与 Tomcat
- Tomcat与Apache集成(Linux环境)
- 浅谈apache和tomcat在linux下的整合
- linux下apache和tomcat整合
- WINDOW环境下Apache-2.0.58+mod_ssl+mod_jk-2.0.55+Tomcat-5.5.16的整合
- Win7系统64位环境下使用Apache——Apache2.4整合Tomcat与mod_jk
- Apache + Tomcat*2集群 负载平衡(Linux环境)
- Linux下Apache与Tomcat整合的简单方法
- (四)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 安装Tomcat和JDK 以及 Nginx与Tomcat整合
- linux 下整合apache和tomcat
- Linux下Apache与Tomcat整合的简单方法
- Linux下Apache整合Tomcat
- linux 下apache 与tomcat整合
- Linux下Apache与tomcat的整合
- Linux下apache httpd+tomcat整合步骤
- 【java】在Linux上apache2.2+tomcat6的整合
- linux环境下,solr6.30整合tomcat8完整过程
- Linux下Apache Httpd与Tomcat整合配置