Apache 和tomcat 的环境搭建
2015-09-11 09:56
471 查看
-------- 此处接上文配置的ssl的环境 这个现在有问题 待解决 勿看
以下此为大神的转载./帮了不少忙 恩
http://blog.csdn.net/stefyue/article/details/6918542
那么首先就来说下Apache和Tomcat的区别:
Apache只是一个Web服务器,可以作为独立的web服务器来运行,不过只支持静态网页,如(asp,php,cgi,jsp)等动态网页的就显得无能为力。
Tomcat也可以作为独立的web服务器来运行。但Tomcat也是应用(java)服务器,它只是一个Servlet容器。
由于Apache解释静态页面要比tomcat快速而且稳定, 基于以上原因,一个现实的网站使用一个Apache作为Web服务器,为网站的静态页面请求提供服务;
并使用Tomcat服务器作为一个Servlet/JSP插件,显示网站的动态页面;
Apache+Tomcat整合的好处:
Apache主要用来解析静态文本,如html,tomcat虽然也有此功能,但apache能大大提高效率,对于并发数较大的企业级应用,能更好的显示apache的高效率;
Tomcat用来解析jsp,servlet等,所有的客户请求首先会发送到Apache,如果请求是静态文本则由apache解析,并把结果返回给客户端,如果是动态的请求,如jsp,apache会把解析工作交给tomcat,由tomcat进行解析(这首先要两者现实整合),tomcat解析完成后,结果仍是通过apache返回给客户端,这样就可以达到分工合作,实现负载均衡,提高系统的性能!而且因为JSP是服务器端解释代码的,这样整合可以减少Tomcat的服务开销。
Apache+Tomcat整合的原理
作为Apache下面的子项目,Tomcat 与 Apache之间有着天然的联系。在实际操作中,主要是Apache作为主服务器运行,当监听到有jsp或者servlet的请求时,将请求转发给tomcat服务器,由tomcat服务器进行解析后,发回apache,再由apache发回用户。
在tomcat中有两个监听的端口,一个是8080用于提供web服务,一个是8009用于监听来自于apache的请求。当apache收到jsp或者servlet请求时,就向tomcat 的8009端口发送请求,交由tomcat处理后,再返回给apache,由apache返回给客户。
自己实际操作
java的环境百度 /没错 我就是在偷懒
配置Tomcat
set CATALINA_BASE = C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\
set CATALINA_HOME = C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\
set CLASSPATH = %CLASSPATH %;%CATALINA_HOME%\lib\servlet-api.jar
在tomcat的conf目录下建一个workers.properties的文本文件,添加如下配置
//让mod_jk模块知道Tomcat的安装路径 workers.tomcat_home= C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\ //让mod_jk模块知道jre的位置 workers.java_home=C:\Program Files\Java\jre1.7.0_18 //模块版本,这里是关键,名字要和httpd.conf的一致。如果这里改了httpd.conf也要改。 worker.list=ajp13 //工作端口,tomcat的jk监听端口,可以查看Server.xml中有port="8009" worker.ajp13.port=8009 //Tomcat所在机器,如果安装在与apache不同的机器则需要设置IP worker.ajp13.host=localhost //通讯协议类型,好像不能改,会出问题 worker.ajp13.type=ajp13 //负载平衡因子 worker.ajp13.lbfactor=1
此处有小问题 上述配置是一个电脑上配置一个apache和一个tomcat 如果是不同的电脑上配置不同的tomcat来整合一个集群 就是如下的设置了 先挖一个坑 以后填 此处只是稍微提一下 因为还有其他的配置
worker.list = controller,tomcat1,tomcat2,tomcat3 worker.tomcat1.port=11009 worker.tomcat1.host=localhost worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor = 1 worker.tomcat2.port=12009 worker.tomcat2.host=localhost worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor = 1 worker.tomcat3.port=13009 worker.tomcat3.host=192.168.0.80 //在我的虚拟机中的,可以算远程的吧 worker.tomcat3.type=ajp13 worker.tomcat3.lbfactor = 1 controller,负载均衡控制器 worker.controller.type=lb worker.controller.balanced_workers=tomcat1,tomcat2,tomcat3 worker.controller.sticky_session=false worker.controller.sticky_session_force=1 worker.controller.sticky_session=1
tomcat的conf目录下,修改文件server.xml。配置在中间加入以下语句以修改其默认的目录:
<Context path="" docBase="E:\wwwroot" reloadable="true" crossContext="true"/>
配置Apache:打开c:\Apache2.2\conf下的httpd.conf。
//在最后加入下面这 //此处mod_jk的文件为你下载的文件 LoadModule jk_module modules/mod_jk.so //指定tomcat监听配置文件地址 JkWorkersFile "C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\conf\workers.properties" //指定日志存放位置;以及日志级别 JkLogFile "C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\logs\mod_jk2.log" JkLogLevel info add mod_jk(tomcat) end //让Apache支持对servlet传送,用以Tomcat解析 JkMount /servlet/* ajp13 //让Apache支持对jsp传送,用以Tomcat解析 JkMount /*.jsp ajp13 //让Apache支持对.do传送,用以Tomcat解析 JkMount /*.do ajp13 //(此处就是一个自定义的 如果多tomcat的controll 需要对应 另外开贴说明) //外需要修改文件中的相关配置。(可以在文件中找到原有的配置)
站点项目所在路径,应与tomcat中的目录设置相同,据说以上两个必须同时设置才可以生效,没有试过不同的时候会有什么情况
<Directory "${SRVROOT}/htdocs"> ServerName localhost //此处我用的是上篇文章中的那个servername
//这里是系统目录默认的储存根目录 因为已经在前文中配置好了localhost 所以这里不用配置 直接写localhost就可以 另外apache服务器指的就是安装的apache 时候利用了系统的IP和部分资源来搭建
修改完所有的配置,那么现在可以重新启动Apache和Tomcat.
在地址栏中分别输入http://localhost/,与http://localhost:8080/若结果相同,Apache与Tomcat整合成功
在这遇到了apche无法重启的问题 一看是workers.properties的文件放错了 要放在tomcat的文件中 因为就是启动apache去读取tomcat的这个配置文件来加载jk模块连接apache和tomcat的
经常可以使用“Apache负载均衡+Tomcat集群”的模式来提高系统整体性能。
1 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。
2为系统设定 Session 超时时间,包括 Apache 和 tomcat
3为系统屏蔽文件列表,包括 Apache 和 tomcat
注:本例程以一台机器为例子,即同一台机器上装一个apache和4个Tomcat。
Apache在前面最为http转发的“关口”,然后将访问负载均衡到后面的Tomcat服务器集群,这样就实现了负载均衡。
加之客户端缓存(Cookie)和服务器端缓存(Session)。然后注意一些其他编程习惯和算法的应用。你的Web系统的整体性能就会得到比较好的保障。
相关文章推荐
- java-模拟tomcat服务器
- i-jetty环境搭配与编译
- 实现单Tomcat多Server配置
- 生产环境下的Tomcat配置
- Linux部署Tomcat服务器
- jenkins------结合maven将svn项目自动部署到tomcat下
- 如何搞定tomcat这只喵~
- Apache Isis 1.4.0 发布,领域驱动开发框架
- Linux快速构建apache web服务器
- Awstats处理多apache日志
- 安装perl模块小窍门
- PHP+Apache在Windows 9x下的安装和配置
- Apache服务器配置全攻略
- Apache Web让JSP“动”起来
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- apache 环境下 php 的配置注意事项
- 在RedHat下安装apache jserv 1.1.2方法
- windows中PHP5.2.14以及apache2.2.16安装配置方法第1/2页