Apache与Tomcat静动态分离

来源:互联网 发布:知字行书怎么写好看 编辑:程序博客网 时间:2024/05/18 06:40
一 Apache与Tomcat比较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运行。这两个有以下几点可以比较的:1、两者都是apache组织开发的2、两者都有HTTP服务的功能3、两者都是免费的不同点:Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等)Tomcat是Apache组织在符合J2EE的JSP、Servlet标准下开发的一个JSP服务器整合的好处是:如果客户端请求的是静态页面,则只需要Apache服务器响应请求如果客户端请求动态页面,则是Tomcat服务器响应请求因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销二 Linux下Apache与Tomcat整合的简单方法(未测)1、准备,下载需要的文件。这里假定你已经正确安装配置好了JDK。到Apache官方网站下载所需要的文件:httpd-2.2.0.tar.gzapache-tomcat-5.5.12.tar.gzjakarta-tomcat-connectors-1.2.15-src.tar.gz其中httpd和jakarta-tomcat-connectors为源码包,apache-tomcat为二进制包。2、安装Apache。# tar xzvf httpd-2.2.0.tar.gz# cd httpd-2.2.0# ./configure --prefix=/usr/local/apache2 --enable-so# make# make install3、安装Tomcat。# cp apache-tomcat-5.5.12.tar.gz /usr/local/# cd /usr/local# tar xzvf apache-tomcat-5.5.12.tar.gz# ln -s apache-tomcat-5.5.12 tomcat4、编译生成mod_jk。# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz# cd jakarta-tomcat-connectors-1.2.15-src/jk/native# ./configure --with-apxs=/usr/local/apache2/bin/apxs# make# cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/5、配置。在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties。# vi mod_jk.conf添加以下内容:# 指出mod_jk模块工作所需要的工作文件workers.properties的位置JkWorkersFile /usr/local/apache2/conf/workers.properties# Where to put jk logsJkLogFile /usr/local/apache2/logs/mod_jk.log# Set the jk log level [debug/error/info]JkLogLevel info# Select the log formatJkLogStampFormat "[%a %b %d %H:%M:%S %Y]"# JkOptions indicate to send SSL KEY SIZE,JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories# JkRequestLogFormat set the request formatJkRequestLogFormat "%w %V %T"# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理JkMount /servlet/* worker1JkMount /*.jsp worker1# vi workers.properties添加以下内容:# Defining a worker named worker1 and of type ajp13worker.list=worker1# Set properties for worker1worker.worker1.type=ajp13worker.worker1.host=localhostworker.worker1.port=8009worker.worker1.lbfactor=50worker.worker1.cachesize=10worker.worker1.cache_timeout=600worker.worker1.socket_keepalive=1worker.worker1.socket_timeout=300再配置httpd.conf,作以下修改:将Listen 80 修改为 Listen 127.0.0.1:80将ServerName 修改为 ServerName LocalHost:80在DirectoryIndex中添加 index.jsp我的网页放在/var/wwwroot下,所以要修改DocumentRootDocumentRoot "/var/wwwroot"<Directory "/var/wwwroot">    Options Includes FollowSymLinks    AllowOverride None    Order deny,allow    Allow from all    XBitHack on</Directory><Directory "/var/wwwroot/WEB-INF">        Order deny,allow    Deny from all</Directory>增加关于加载mod_jk的语句:LoadModule jk_module modules/mod_jk.soInclude /usr/local/apache2/conf/mod_jk.conf最后编辑Tomcat的配置文件server.xml,在HOST段中加入:<Context path="" docBase="/var/wwwroot" debug="0" reloadable="true" crossContext="true"/>在/var/wwwroot下建立一个index.jsp,启动Apache和Tomcat,用浏览器访问http://localhost/,应该可以看到正确的页面了。三 Windows下Apache与Tomcat的整合(已测)准备工作:1、 Apache 2.2.212、 Tomcat 6.0.183、 JDK4 JK-1.2.26-httpd-2.2.x下载地址:http://www.apache.org/dist/tomca ... 2.x-httpd-2.2.4.so注意JK的版本一定要与Apache版本相同。如果你的版本与我的不同,可以去官网下载,有多种版本,适用于各种操作系统,下载适用的既可,地址:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/开始安装:软件的安装顺序可以适当调整,但是JDK(JRE)一定要在Tomcat之前安装:1、安装JDK(JRE)此处默认、自定义安装均可。安装完成以后按下面的示例设置你的系统环境变量:我的电脑 -> 属性 -> 高级 -> 环境变量 (这里要添加的是系统变量,非用户变量)JAVA_HOME = D:\Program Files\Java\jdk1.6.0_07CLASSPATH = .;%Java_Home%\lib\tools.jar;%Java_Home%\lib\dt.jar;PATH = %Java_Home%\bin;%PATH%注意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:\Program Files\Tomcat 下,设置环境变量:CATALINA_BASE = D:\Program Files\tomcatCATALINA_HOME = D:\Program Files\tomcatCLASSPATH = %CATALINA_HOME%\lib\servlet-api.jar运行 D:\Program Files\Tomcat\bin\startup.bat 启动Tomcat,出现Tomcat页面则表示安装成功。4、安装JK把 mod_jk-1.2.26-httpd-2.2.4.so 拷贝到 D:\Program Files\Apache2.2\modules 下。下面进行服务器的配置:1、配置Tomcat查找Tomcat目录下的 conf/server.xml文件,在<host></host>中间加入以下语句以修改其默认的目录:<Context path="" docBase="E:\wwwroot" reloadable="true" crossContext="true"/>在这里,如果 path 不为空,则设置的是虚拟目录,path 的值为虚拟目录名。查找Tomcat目录下的 conf/workers.properties文件,并对比下方文本内容,如有不同处,以下方文本为准进行修改。workers.tomcat_home=C:\apache-tomcat-6.0.18 #让mod_jk模块知道Tomcat的位置workers.java_home=D:\Program Files\Java\jre1.6.0_07 #让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:\Program Files\Apache2.2\conf下的httpd.conf,在最后加入下面这段代码并保存。LoadModule jk_module modules\mod_jk-1.2.26-httpd-2.2.4.so#此处mod_jk的文件为你下载的文件JkWorkersFile "D:\Program Files\Tomcat\conf\workers.properties"#指定tomcat监听配置文件地址JkLogFile "D:\Program Files\Tomcat\logs\mod_jk2.log"#指定日志存放位置JkLogLevel info#设置虚拟主机<VirtualHost localhost>#如果非虚拟主机,将<VirtualHost localhost>和最后的</VirtualHost>注释或者删除掉即可ServerAdmin localhostDocumentRoot E:/wwwroot<Directory "E:/wwwroot">#您的站点项目所在路径,应与tomcat中的目录设置相同,据说以上两个必须同时设置才可以生效,没有试过不同的时候会有什么情况ServerName localhostDirectoryIndex index.html index.htm index.jspErrorLog logs/shsc-error_log.txtCustomLog logs/shsc-access_log.txt commonJkMount /servlet/* ajp13#让Apache支持对servlet传送,用以Tomcat解析JkMount /*.jsp ajp13#让Apache支持对jsp传送,用以Tomcat解析JkMount /*.do ajp13#让Apache支持对.do传送,用以Tomcat解析</VirtualHost>#开头的行为注释,可以删除。此处的配置我是以设置虚拟目录,重新指定了serverName,DocumentRoot路径的方式配置站点,实际上,Apache的配置可以非常灵活,你也可以不采用虚拟目录的方式,而直接去修改站点的默认配置,使用任意文本编辑工具,搜索如 ServerName,DocumentRoot,ServerAdmin等相关项,然后将该项的配置根据你的实际情况进行修改即可。我建议大家可以多多尝试不同的配置,这是一种很有乐趣的体验。所有的修改完成以后,双击系统托盘中的Apache图标,然后点击Start启动Apache服务。在地址栏中分别输入http://localhost/,与http://localhost:8080/若结果相同,Apache与Tomcat整合成功


原创粉丝点击