我们致力于一个Apache知识的分享网站

Home » Apache初级应用 » apache和tomcat集成的总结

apache和tomcat集成的总结


2009-02-18 12:34:12  |   才被看了2,680次  |   要评论?
分类: Apache初级应用  |   发布:   |   来源:liubaoshan

Tags: ,,

第一步:取得软件
获取要用到的软件如下:
Jdk1.6版本:http://java.sun.com站点下载
Apache2.2.4版本:http://www.apache.org站点下载该软件
Tomcat6.0版本:http://www.apache.org站点下载该软件
mod_jk-apache-2.2.4.so注意这个文件一定要跟Apache版本的一致:这个文件可以在http://www.apache.org站点找到

第二步:安装软件
1、 先安装jdk
安装的过程很简单,在这里就不一一列出来了,就一路的默认安装下去,也可以改变你的安装路径,如果不清楚的在网上找找看。
安装jdk完成后设置环境变量:
  选择我的电脑右键->属性->选择高级选项卡->环境变量—这时将弹出设置环境变量对话框,在系统环境变量下点击《新建》按钮,变量名输入:java_home变量值输入:D:\Java\jdk1.6.0(注意这里是我本机上安装jdk的路径,可以修改成你本机上的jdk的路径),点击《确定》,然后在已有的系统环境变量中找到名为path的环境变量名,选种该变量名,点击《编辑》按钮,在变量值中的前面加入 .;D:\Java\jdk1.6.0\bin;(按安装的路径而定),OK! Jdk安装和配置就搞定了。
测试jdk是否安装和配置成功,打开cmd输入java回车如果如下图所示说明jdk安装成功:

cmd-apache-tomcat

2、 安装tomcat
安装过程也是很简单的,在这里也不一一列出来了,就一路的默认安装下去,也可以改变你的安装路径,最好把安装的目录改为tomcat6.0,如果不清楚的在网上找找看。
安装完成后启动tomcat服务器,打开IE输入http://localhost:8080回车,如果看到一个小老虎就说明tomcat已经安装成功!

3、 安装apache
(1)、运行下载好的“apache_2.2.4-win32-x86-no_ssl.msi”,出现如下界

出现Apache HTTP Server 2.2.4的安装向导界面,点“Next”继续
(2)、确认同意软件安装使用许可条例,选择“I accept the terms in the license agreement”,点“Next”继续
(3)、将Apache安装到Windows上的使用须知,请阅读完毕后,按“Next”继续
(4)、设置系统信息,在Network Domain下填入您的域名(比如:liubaoshan.com)如果是在本机上使用的输入localhost,在Server Name下填入您的服务器名称(比如:www.liubaoshan.com,也就是主机名加上域名)如果是在本机上使用的输入localhost,在Administrator’s Email Address下填入系统管理员的联系电子邮件地址(比如:liubaoshan_898@163.com),其中联系电子邮件地址会在当系统故障时提供给访问者,三条信息均可任意填写,无效的也行。下面有两个选择,图片上选择的是为系统所有用户安装,使用默认的80端口,并作为系统服务自动启动;另外一个是仅为当前用户安装,使用端口8080,手动启动。一般选择前一个。按“Next”继续。
(5)、选择安装类型,Typical为默认安装,Custom为用户自定义安装,我们这里选择Typical。按“Next”继续
(6)、确认安装选项无误,如果您认为要再检查一遍,可以点“Back”一步步返回检查。点“Install”开始按前面设定的安装选项安装。
(7)、正在安装界面,请耐心等待,直到安装完成出现《finish》按钮。
(8)、安装向导成功完成,这时状态栏的右下角应该出现了一个绿色的图标,表示Apache服务已经开始运行,按“Finish”结束Apache的软件安装。
(9)、我们来熟悉一下这个图标,很方便的,在图标上单击左键,出现有“Start(启动)”、“Stop(停止)”、“Restart(重启动)”三个选项,可以很方便的对安装的Apache服务器进行上述操作。
(10)、好了现在我们来测试一下按默认配置运行的网站界面,在IE地址栏打“http://localhost”,点“转到”,就可以看到apache默认的页面,在页面上显示It works!表示Apache服务器已安装成功。

4、
第三步:配置tomcat和apache

1、 配置tomcat
打开tomcat安装目录D:\Tomcat 6.0\conf\workers.properties文件(如果没有该文件就新建一个)添加以下配置:
workers.tomcat_home=d:\tomcat6.0 #让mod_jk模块知道Tomcat的位置
workers.java_home=D:\Java\jre1.6.0 #让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安装目录D:\Tomcat 6.0\conf\server.xml添加以下配置:
<Context path=”/web” docBase=”D:/www” debug=”0″ reloadable=”true” > </Context>
注意是在</Host>标签前面添加,该配置说明就是配置一个虚拟路径(/web),真实路径为D:/www,www目录就是web项目的根目录,可以任意的修改。
2、 配置Apache
把上面第一步下载得到的mod_jk-apache-2.2.4.so文件拷贝到apache安装目录     d: \Apache2.2\modules的目录下。
打开apache安装目录d: \Apache2.2\conf\httpd.conf,打开httpd.conf文件,在最后面添加以下配置:

#以下是集成tomcat添加的
# Using mod_jk2.dll to redirect dynamic calls to Tomcat
LoadModule jk_module modules/mod_jk-apache-2.2.4.so
JkWorkersFile “d:/Tomcat6.0/conf/workers.properties”
JkLogFile “d:/Tomcat6.0/logs/mod_jk2.log”
JkLogLevel info
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13

#以下是配置的虚拟目录,这个目录是和tomcat指同一个目录
Alias /web “D:/www/”
<Directory “D:/www”>
Options Indexes MultiViews
AddOutputFilter Includes html
AllowOverride None
Order allow,deny
Allow from all
</Directory>
3、 启动服务器
首先启动tomcat服务器,后启动apache服务器,服务器启动成功后,打开IE输入网址:http://localhost/web/test.jsp和输入网址:http://localhost:8080/web/test.jsp显示的页面是相同的说明apache集成tomcat成功!(test.jsp是存放在D:/www目录下的)

4、 以下是一些关于apache服务器配置文件httpd.conf里的一些描述:
1、如何设 置请求等待时间
  在httpd.conf里面设置:
  TimeOut n
  其中n为整数,单位是秒。
  设置这个TimeOut适用于三种情况:
  2、如何接收一个get请求的总时间
  接收一个post和put请求的TCP包之间的时间
  TCP包传输中的响应(ack)时间间隔
  3、如何使得apache监听在特定的端口
  修改httpd.conf里面关于Listen的选项,例如:
  Listen 8000
  是使apache监听在8000端口
  而如果要同时指定监听端口和监听地址,可以使用:
  Listen 192.170.2.1:80
  Listen 192.170.2.5:8000
  这样就使得apache同时监听在192.170.2.1的80端口和192.170.2.5的8000端口。
  当然也可以在httpd.conf里面设置:
  Port 80
  这样来实现类似的效果。
  4、如何设置apache的最大空闲进程数
  修改httpd.conf,在里面设置:
  MaxSpareServers n
  其中n是一个整数。这样当空闲进程超过n的时候,apache主进程会杀掉多余的空闲进程而保持空闲进程在n,节省了系统资源。如果在一个apache非常繁忙的站点调节这个参数才是必要的,但是在任何时候把这个参数调到很大都不是一个好主意。
  同时也可以设置:
  MinSpareServers n
  来限制最少空闲进程数目来加快反应速度。
  5、apache如何设置启动时的子服务进程个数
  在httpd.conf里面设置:
  StartServers 5
  这样启动apache后就有5个空闲子进程等待接受请求。
  也可以参考MinSpareServers和MaxSpareServers设置。
6、如何在apache中设置每个连接的最大请求数
  在httpd.conf里面设置:
  MaxKeepAliveRequests 100
  这样就能保证在一个连接中,如果同时请求数达到100就不再响应这个连接的新请求,保证了系统资源不会被某个连接大量占用。但是在实际配置中要求尽量把这个数值调高来获得较高的系统性能。
  7、如何在apache中设置session的持续时间
  在apache1.2以上的版本中,可以在httpd.conf里面设置:
  KeepAlive on
  KeepAliveTimeout 15
  这样就能限制每个session的保持时间是15秒。session的使用可以使得很多请求都可以通过同一个tcp连接来发送,节约了网络资源和系统资源。
  8、如何使得apache对客户端进行域名验证
  可以在httpd.conf里面设置:
  HostnameLookups on|off|double
  如果是使用on,那么只有进行一次反查,如果用double,那么进行反查之后还要进行一次正向解析,只有两次的结果互相符合才行,而off就是不进行域名验证。
  如果为了安全,建议使用double;为了加快访问速度,建议使用off。
  9、如何使得apache只监听在特定的ip
  修改httpd.conf,在里面使用
  BindAddress 192.168.0.1
  这样就能使得apache只监听外界对192.168.0.1的http请求。如果使用:
  BindAddress *
  就表明apache监听所有网络接口上的http请求。
  当然用防火墙也可以实现。
10、apache中如何限制http请求的消息主体的大小
  在httpd.conf里面设置:
  LimitRequestBody n
  n是整数,单位是byte。
  cgi脚本一般把表单里面内容作为消息的主体提交给服务器处理,所以现在消息主体的大小在使用cgi的时候很有用。比如使用cgi来上传文件,如果有设置:
  LimitRequestBody 102400
  那么上传文件超过100k的时候就会报错。
  11、如何修改apache的文档根目录
  修改httpd.conf里面的DocumentRoot选项到指定的目录,比如:
  DocumentRoot /www/htdocs
  这样http://localhost/index.html就是对应/www/htdocs/index.html
  12、如何修改apache的最大连接数
  在httpd.conf中设置:
  MaxClients n
  n是整数,表示最大连接数,取值范围在1和256之间,如果要让apache支持更多的连接数,那么需要修改源码中的httpd.h文件,把定义的HARD_SERVER_LIMIT值改大然后再编译。

  13、如何使每个用户有独立的cgi-bin目录
  有两种可选择的方法:
  (1)在Apache配置文件里面关于public_html的设置后面加入下面的属性:
  ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*) /home/$1/cgi-bin/$2
  (2)在Apache配置文件里面关于public_html的设置里面加入下面的属性:
  <Directory /home/*/public_html/cgi-bin>
    Options ExecCGI
    SetHandler cgi-script
  </Directory>
14、如何调整Apache的最大进程数
Apache允许为请求开的最大进程数是256,MaxClients的限制是256.如果用户多了,用户就只能看到Waiting for reply….然后等到下一个可用进程的出现。这个最大数,是Apache的程序决定的–它的NT版可以有1024,但Unix版只有256,你可以在src/include/httpd.h中看到:
#ifndef HARD_SERVER_LIMIT
#ifdef WIN32
#define HARD_SERVER_LIMIT 1024
#else
#define HARD_SERVER_LIMIT 256
#endif
#endif
你可以把它调到1024,然后再编译你的系统。
  15、如何屏蔽来自某个Internet地址的用户访问Apache服务器
  可以使用deny和allow来限制访问,比如要禁止202.202.202.xx网络的用户访问:
  <Directory /www/htdocs>
  order deny,allow
  deny from 202.202.202.0/24
  </Directory>
  16、如何在日志里面记录apache浏览器和引用信息
  你需要把mod_log_config编译到你的Apache服务器中,然后使用下面类似的配置:
  CustomLog logs/access_log “%h %l %u %t “%r” %s %b “%{Referer}i” “%{User-Agent}i””
  17、如何修改Apache返回的头部信息
  问题分析:当客户端连接到Apache服务器的时候,Apache一般会返回服务器版本、非缺省模块等信息,例如:
  Server: Apache/1.3.26 (Unix) mod_perl/1.26
  解决:
  你可以在Apache的配置文件里面作如下设置让它返回的关于服务器的信息减少到最少:
  ServerTokens Prod
  注意:
  这样设置以后Apache还会返回一定的服务器信息,比如:
  Server: Apache
  但是这个不会对服务器安全产生太多的影响,因为很多扫描软件是扫描的时候是不顾你服务器返回的头部信息的。你如果想把服务器返回的相关信息变成:
  Server: It iS a nOnE-aPaCHe Server
  那么你就要去修改源码了。

在64位机器上关于Apache 2.2.3版的编译问题 IE环境下的安全警告汇总收藏

Leave a Reply