今天整合了Apache+tomcat,这里介绍整合过程,也算是复习,首先我们来说说apache web server 和tomcat的区别:
1. Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。
2. Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序(jsp,serverlet)。
3. Apache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)
4. 两者都是一种容器,只不过发布的东西不同:Apache是html容器,功能像IIS一样;Tomcat是jsp/servlet容器,用于发布jsp及java的,类似的有IBM的webshere、EBA的Weblogic,sun的JRun等等。
5. Apache和Tomcat是独立的,在通一台服务器上可以集成。
1、 httpd-2.0.65-win32-x86-no_ssl.msi
下载地址:
http://mirrors.cnnic.cn/apache//httpd/binaries/win32/httpd-2.0.65-win32-x86-no_ssl.msi
2、 apache-tomcat-7.0.47
下载地址:
3、 JDK
下载地址:
http://down1.pc6.com/xy3/jdk6.zip
如果只是应用的话,也可以选择安装JRE,因为JRE比较小:)
4 mod_jk-1.2.10-apache-2.0.53.so
下载地址:mod_jk-1.2.10-apache-2.0.53.so
注意JK的版本一定要与Apache版本相同。如果你的版本与我的不同,可以去官网下载,有多种版本,适用于各种操作系统,下载适用的既可,地址:
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/
开始安装:
软件的安装顺序可以适当调整,但是JDK(JRE)一定要在Tomcat之前安装:
1、安装JDK(JRE)
此处默认、自定义安装均可。安装完成以后按下面的示例设置你的系统环境变量:
我的电脑 -> 属性 -> 高级 -> 环境变量 (这里要添加的是系统变量,非用户变量)
JAVA_HOME = C:\Program Files\java\jdk1.6.0_43 CLASSPATH = %CATALINA_HOME%\lib\servlet-api.jar PATH = %Java_Home%\bin
注意JAVA_HOME的路径改为你的实际安装路径。其它两个不变。
2、安装Apache
此处注意,如果你本机已经装了IIS并且占用了80端口,你可以选择禁用IIS或者给IIS指定其它端口,或者给Apache指定其它端口,根据实际情况进行设置。在Apache的安装过程中要设置Network Domain和Server Name为Localhost,设置你的Email地址(这个一定要设置,不然Apache启动不起来)。
安装完成之后,如果apache用的是80端口,那么在浏览器中输入http://localhost ,如果使用的是其它端口例如81,则输入http://localhost:81 ,将会看到 Apache 的成功页面。此时Apache已经运行,在系统托盘可以看到它的图标,双击打开可以对Apache服务进行控制,我们下面还要安装Tomcat和JK,所以现在选择 Stop 停止 Apache 服务。
3、安装Tomcat
将Tomcat解压到 D:\tools\tomcat\apache-tomcat-7.0.47下,设置环境变量:
CATALINA_BASE = D:\tools\tomcat\apache-tomcat-7.0.47 CATALINA_HOME = D:\tools\tomcat\apache-tomcat-7.0.47 CLASSPATH = %CATALINA_HOME%\lib\servlet-api.jar
运行 D:\tools\tomcat\apache-tomcat-7.0.47\bin\startup.bat 启动Tomcat,出现Tomcat页面则表示安装成功。
4、安装JK
把 mod_jk.so(下载好jk后最好更名为mod_jk.so) 拷贝到 D:\apps\Apache Group\Apache2\modules 下。
下面进行服务器的配置:
1、配置Tomcat
查找Tomcat目录下的 conf/server.xml文件,在<host></host>中间加入以下语句以修改其默认的目录:
<Context path="" docBase="D:\tools\tomcat\apache-tomcat-7.0.47\webapps\trail" reloadable="true" crossContext="true"/>
在这里,如果 path 不为空,则设置的是虚拟目录,path 的值为虚拟目录名。
查找Tomcat目录下的 conf/workers.properties文件,并对比下方文本内容,如有不同处,以下方文本为准进行修改。
workers.tomcat_home=D:\tools\tomcat\apache-tomcat-7.0.47#让mod_jk模块知道Tomcat的位置 workers.java_home=C:\Program Files\java\jdk1.6.0_43#让mod_jk模块知道jre的位置 ps=\ worker.list=ajp13 #模块版本 worker.ajp13.port=8009 #工作端口,若没占用则不用修改 worker.ajp13.host=localhost #本机,若上面的Apache主机不为localhost,作相应修改 worker.ajp13.type=ajp13 #类型 worker.ajp13.lbfactor=1 #代理数,不用修改
如果此文件不存在,则依以上内容创建。对Tomcat的设置进行任何修改后都要重启才可以生效。
2、配置Apache
打开D:\apps\Apache Group\Apache2\conf下的httpd.conf,在最后加入下面这段代码并保存。
#此处mod_jk的文件为你下载的文件 LoadModule jk_module modules\mod_jk.so #指定tomcat监听配置文件地址 JkWorkersFile "D:\tools\tomcat\apache-tomcat-7.0.47\conf\workers.properties" #指定日志存放位置 JkLogFile "D:\tools\tomcat\apache-tomcat-7.0.47\mod_jk2.log" JkLogLevel info #设置虚拟主机 <VirtualHost localhost> #如果非虚拟主机,将<VirtualHost localhost>和最后的</VirtualHost>注释或者删除掉即可 ServerAdmin localhost #您的站点项目所在路径,应与tomcat中的目录设置相同,据说以上两个必须同时设置才可以生效,没有试过不同的时候会有什么情况 DocumentRoot D:\tools\tomcat\apache-tomcat-7.0.47\webapps\trail <Directory "D:\tools\tomcat\apache-tomcat-7.0.47\webapps\trail"> ServerName localhost DirectoryIndex index.html index.htm index.jsp ErrorLog logs/shsc-error_log.txt CustomLog logs/shsc-access_log.txt common #让Apache支持对servlet传送,用以Tomcat解析 JkMount /servlet/* ajp13 #让Apache支持对jsp传送,用以Tomcat解析 JkMount /*.jsp ajp13 #让Apache支持对.do传送,用以Tomcat解析 JkMount /*.do ajp13 </VirtualHost>
#开头的行为注释,可以删除。此处的配置我是以设置虚拟目录,重新指定了serverName,DocumentRoot路径的方式配置站点,实际上,Apache的配置可以非常灵活,你也可以不采用虚拟目录的方式,而直接去修改站点的默认配置,使用任意文本编辑工具,搜索如ServerName,DocumentRoot,ServerAdmin等相关项,然后将该项的配置根据你的实际情况进行修改即可。建议大家可以多多尝试不同的配置,这是一种很有乐趣的体验。
所有的修改完成以后,双击系统托盘中的Apache图标,然后点击Start启动Apache服务。
在地址栏中分别输入http://localhost/,与http://localhost:8080/若结果相同,Apache与Tomcat整合成功