/ 中存储网

Apache+tomcat服务器环境安装

2014-04-15 11:16:01 来源:IT技术网
-----------------------------------------------------------------<一>

假设:

apache安装目录为APACHE_HOME

tomcat安装目录为TOMCAT_HOME (要设到环境变量中)

jdk安装目录为JAVA_HOME(要设到环境变量中)

1.安装apache:(假定安装目录为APACHE_HOME,根据你实际安装自行替换)

废话不多说,安装后修改APACHE_HOME/CONF/httpd.conf 以下6个地方:

1) Port 8080 或者80 随你

2) ServerName localhost

3) DocumentRoot "e:/www" (为了发布方便,不如自己建个目录作为文档根)

4) 把原来的<Directory "APACHE_HOME/htdocs">改为

<Directory "e:/www">

5) 添加index.jsp为缺省的主索引文件

<IfModule mod_dir.c>

DirectoryIndex index.html index.jsp

</IfModule>

6) 这是最关键一步,在httpd.conf最后加上

#tomcat支持

include TOMCAT_HOME/conf/mod_jk.conf-auto

只需要这一句就够了,别听那些白痴的话,加上什么tomcat-apache.conf,那没用.

把mod_jk.dll拷贝进APACHE_HOME/module目录

这会先不管apache了,来设置tomcat3.2

步骤:

把tomcat解压缩,将它真正的目录jarakar-tomcat拷贝到你要的目录名TOMCAT_HOME

修改TOMCAT_HOME下的conf目录中的server.xml

1) 如果你不想看TOMCAT启动信息,这么做:

<Logger name="tc_log"

path="logs/tomcat.log"

verbosityLevel = "INFORMATION"

/>

增加一个PATH="logs/tomcat.log" 就可以了

2) 让tomcat改到8081上,一般来说www服务在80或者8080上:

<!-- Normal HTTP -->

<Connector className="org.apache.tomcat.service.PoolTcpConnector">

<Parameter name="handler"

value="org.apache.tomcat.service.http.HttpConnectionHandler"/>

<Parameter name="port" value="8081"/>

</Connector>

3)增加APJ13协议支持

<!-- Apache AJP13 support. This is also used to shut down tomcat. -->

<Connector className="org.apache.tomcat.service.PoolTcpConnector">

<Parameter name="handler" value="org.apache.tomcat.service.connector.Ajp13

ConnectionHandler"/>

<Parameter name="port" value="8009"/>

</Connector>

就放在原来的APJ12连接器后面就可以了

4)配合APACHE修改文档根目录

<!-- 文档根目录 -->

<Context path="/" docBase="e:/www" >

</Context>

5)为了用例子测试,还得改一下EXAMPLES的CONTEXT:

<Context path="/examples"

docBase="TOMCAT_HOME/webapps/examples" crossContext="false" >

</Context>

要使用MOD_JK还得改一下同一目录下的WORKERS.PROPERTIES文件:

1) workers.tomcat_home=TOMCAT_HOME

2) workers.java_home=JAVA_HOME

3) ps= 我爱windows 赫赫

现在ok了,开始启动!

别慌,还有启动顺序问题,注意啊,先启动tomcat让它自己修改一下配置,第一次一定

要先tomcat,以后除非修改tomcat的设置,都可以先启动apache了。

ok 来启动tomcat:运行TOMCAT_HOME/bin下面的startup.bat

看到:Startting tomcat. Check logs/tomcat.log for error messages.那就对了

再来检查tomcat的情况

先随便在e:www里面放个index.jsp文件,内容是

<%="啊哈!jsp第一次运行!"%>

用浏览器打开http://localhost:8081

如果看到上面的话出现,那么根文档就成功了,再来用例子测试一下,用浏览器打开:

http://localhost:8081/examples/jsp

运行猜数字游戏,如果正确了,说明咱们的examples上下文也关联正确。这就简单了。

剩下就是运行apache了

运行apache,看到这么一行:

Apache/1.3.14 (win32) with mod_jk running...那就对了

再来测试它们的组合,用浏览器打开http://localhost:8080(我假设你用8080端口,如

果是80端口,那就用http://localhost

还是看到那句“啊哈!jsp第一次运行!”

这就说明apache和tomcat连上了!

你可以再用http://localhosy:8080/examples/jsp测试一下例子。

就这么简单,真正的mod_jk搞定了!

-----------------------------------------------------------------<二>

一.Apache与Tomcat介绍

    Apache是当前使用最为广泛的WWW服务器软件,具有相当强大的静态HTML处理的能力。

Tomcat服务器是一个免费的开放源代码的Web应用服务器,它是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、 Sun和   其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP   规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet 2.4和JSP 2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用 服务器。

Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。

二.为什么需要整合

整合的最主要原因是为了在现有的硬件条件下提供最大的负载。

如果单独使用Tomcat做JSP服务器,在工作效率上会存在问题,Tomcat处理静态HTML的能力不如Apache,并且所能承受的最大并发连接数也有一定的限制;

在测试中,当并发连接较多时,Tomcat就会处于“僵死”状态,对后继的请求连接失去响应。所以现在提出一个“整合”解决方案:将html与jsp的功能部分进行明确分工,让tomcat只处理jsp部分,其它的由apache这个web server处理。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返回给客户。

四.安装Apache与Tomcat服务器

   操作系统环境:Windows xp home

   安装文件:apache-tomcat-6.0.14.exe apache_2.2.6-win32-x86-openssl-0.9.8e.msi mod_jk-apache-2.2.4.so

  到apache 与tomcat 的官方网站上面下载apache 与tomcat,安装apache与tomcat

到http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32下载 mod_jk-apache-2.2.4.so

将mod_jk-apache-2.2.4.so拷贝到apache安装目录下面的modules目录中。

五.修改Tomcat设置

在tomcat的conf目录下建一个workers.properties的文本文件,添加如下配置

workers.tomcat_home="tomcat安装目录"

#让mod_jk模块知道Tomcat的安装路径

workers.java_home="java安装目录"

#让mod_jk模块知道jdk路径

ps="

worker.list=ajp13

#这里是关键,名字要和httpd.conf的一致。如果这里改了httpd.conf也要改。

worker.ajp13.port=8009

#工作端口,tomcat的jk监听端口,可以查看Server.xml中有port="8009"           

worker.ajp13.host=localhost

#Tomcat所在机器,如果安装在与apache不同的机器则需要设置IP

worker.ajp13.type=ajp13

#类型,好像不能改,会出问题

worker.ajp13.lbfactor=1

#负载平衡因子   

六.修改Apache设置

修改apache安装目录下conf目录下的httpd.conf,增加如下配置

  LoadModule jk_module modules/mod_jk-apache-2.2.4.so

JkWorkersFile "tomcat安装目录/conf/workers.properties"

    JkLogFile "apache安装目录/logs/mod_jk.log"

JkMount /*.jsp ajp13

JkMount /*.do ajp13

七.整合操作说明

mod_jk-apache-2.2.4.so相当于是apache与tomcat之间的桥梁一样,所以在apache的配置文件下面加上LoadModule jk_module modules/mod_jk-apache-2.2.4.so 将此模块载入。

JkWorkersFile "tomcat安装目录/conf/workers.properties" 说明了mod_jk-apache-2.2.4.so 如何工作,当出现要转发时,将请求发送到那里进行处理,代表了一系列的工作参数。

JkLogFile "apache安装目录/logs/mod_jk.log" 设定日志的地址。

JkMount 说明了将什么样的URL进行发送到tomcat进行处理。JkMount /*.jsp ajp13 说明了要将jsp请求发到tomcat,JkMount /*.do ajp13说明了要将.do型的servlet发到tomcat进行处理。在实际的分发中,如果servlet命名不带后缀的话,将无法被识别,也就无法 进行处理。