Apache22+tomcat6018集群部署手册.docx
- 文档编号:4639766
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:14
- 大小:240.90KB
Apache22+tomcat6018集群部署手册.docx
《Apache22+tomcat6018集群部署手册.docx》由会员分享,可在线阅读,更多相关《Apache22+tomcat6018集群部署手册.docx(14页珍藏版)》请在冰豆网上搜索。
Apache22+tomcat6018集群部署手册
一、软件准备
Apache2.2
Tomcat-6.0.18:
mod_jk-1.2.31-httpd-2.2.3.so
jdk-1_5_0_06-windows-i586-p.exe
注意:
由于Apache和Tomcat项目与集群相关的模块均处于持续发展和优化过程中,因此笔者不保证本文配置方法对所有Apache和Tomcat版本均适用。
二、Apache安装
1、先准备好软件:
2、安装Apache,配置成功一个普通网站服务器
3、运行下载好的“httpd-2.2.19-win32-x86-openssl-0.9.8r.msi”,出现如下界面:
4、出现ApacheHTTPServer2.0.55的安装向导界面,点“Next”继续
5、确认同意软件安装使用许可条例,选择“Iacceptthetermsinthelicenseagreement”,点“Next”继续
6、将Apache安装到Windows上的使用须知,请阅读完毕后,按“Next”继续
7、设置系统信息,在NetworkDomain下填入您的域名(比如:
),在ServerName下填入您的服务器名称(比如:
,也就是主机名加上域名),在Administrator'sEmailAddress下填入系统管理员的联系电子邮件地址(比如:
yinpeng@),上述三条信息仅供参考,其中联系电子邮件地址会在当系统故障时提供给访问者,三条信息均可任意填写,无效的也行。
下面有两个选择,图片上选择的是为系统所有用户安装,使用默认的80端口,并作为系统服务自动启动;另外一个是仅为当前用户安装,使用端口8080,手动启动。
一般选择如图所示。
按“Next”继续。
]
8、选择安装类型,Typical为默认安装,Custom为用户自定义安装,我们这里选择Custom,有更多可选项。
按“Next”继续
9、出现选择安装选项界面,如图所示,左键点选“ApacheHTTPServer2.0.55”,选择“Thisfeature,andallsubfeatures,willbeinstalledonlocalharddrive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。
点选“Change...”,手动指定安装目录。
10、我这里选择安装在“D:
\”,各位自行选取了,一般建议不要安装在操作系统所在盘,免得操作系统坏了之后,还原操作把Apache配置文件也清除了。
选“OK”继续。
11、返回刚才的界面,选“Next”继续。
12、确认安装选项无误,如果您认为要再检查一遍,可以点“Back”一步步返回检查。
点“Install”开始按前面设定的安装选项安装。
13、正在安装界面,请耐心等待,直到出现下面的画面。
14、安装向导成功完成,这时右下角状态栏应该出现了下面的这个绿色图标,表示Apache服务已经开始运行,按“Finish”结束Apache的软件安装
15、我们来熟悉一下这个图标,很方便的,在图标上左键单击,出现如下界面,有“Start(启动)”、“Stop(停止)”、“Restart(重启动)”三个选项,可以很方便的对安装的Apache服务器进行上述操作。
16、
17、好了现在我们来测试一下按默认配置运行的网站界面,在IE地址栏打“http:
//127.0.0.1”,点“转到”,就可以看到如下页面,表示Apache服务器已安装成功。
二、Tomcat-6.0.18 安装
解压tomcatzip文件到四个文件夹,分别为tomcat-6.0.18_1、tomcat-6.0.18_2、tomcat-6.0.18_3和tomcat-6.0.18_4,可解压到E盘下面,产生目录E:
\tomcat-6.0.18_1、E:
\tomcat-6.0.18_2、E:
\tomcat-6.0.18_3和E:
\tomcat-6.0.18_4,以下均以t1、t2、t3和t4代表四个tomcat服务器。
配置JAVA_HOME和CLASSPATH系统环境变量,分别启动t1、t2、t3和t4,确保tomcat可用,然后关闭tomcat。
设置环境变量:
1.鼠标右击“我的电脑”->“属性”->“高级”->“环境变量”
2.在系统变量里面分别新建变量
JAVA_HOME=D:
\ProgramFiles\Java\jdk1.5.0_06
CLASSPATH=.;D:
\ProgramFiles\Java\jdk1.5.0_06\lib\dt.jar;D:
\ProgramFiles\Java\jdk1.5.0_06\lib\tools.jar;
如下图所示:
本文仅为讲解配置过程,Apache和tomcat均工作在同一台机器上。
实际部署时没有任何限制,Apache和单个tomcat可以分别部署在不同的服务器上。
三、Apache配置
1、拷贝mod_jk-1.2.31-httpd-2.2.3.so到Apache2.2的modules目录下。
2、在Apache安装目录下找到conf/httpd.conf文件,以文本编辑器打开。
去掉以下文本前的注释符(#)以便让Apache在启动时自动加载代理(proxy)模块。
(注:
这几个模块在配置文件中是相邻的)
LoadModuleproxy_modulemodules/mod_proxy.so
LoadModuleproxy_ajp_modulemodules/mod_proxy_ajp.so
LoadModuleproxy_balancer_modulemodules/mod_proxy_balancer.so
LoadModuleproxy_connect_modulemodules/mod_proxy_connect.so
LoadModuleproxy_ftp_modulemodules/mod_proxy_ftp.so
LoadModuleproxy_http_modulemodules/mod_proxy_http.so
向下拉动文档找到
继续下拉文档找到Includeconf/extra/httpd-vhosts.conf,去掉前面的注释符。
继续下拉文档找到Includeconf/extra/httpd-mpm.conf,去掉前面的注释符。
用文本编辑器打开conf/extra/httpd-vhosts.conf,配置虚拟站点,在最下面加上
80> ServerAdmin 管理员邮箱 ServerName 域名(没有可用IP地址代替) ServerAliaslocalhost 域名别名 ProxyPass/balancer: //cluster/stickysession=jsessionidnofailover=On 是否打开失败转移 ProxyPassReverse/balancer: //cluster/ ErrorLog"logs/lbtest-error.log" CustomLog"logs/lbtest-access.log"common
这里balancer:
//是告诉Apache需要进行负载均衡的代理,后面的cluster是集群名,可以随意取,两个日志引擎ErrorLog负责记录错误,CustomLog负责记录所有的http访问以及返回状态,日志名可以自己取,现取为lbtest。
httpd-vhosts.conf配置完毕,回到httpd.conf,在文档最下面加上
//cluster>用于配置工作在tomcat集群中的所有节点,这里的"cluster"必须与上面的集群名保持一致。 Apache通过ajp协议与tomcat进行通信,ip地址和端口唯一确定了tomcat节点和配置的ajp接受端口。 loadfactor是负载因子,Apache会按负载因子的比例向后端tomcat节点转发请求,负载因子越大,对应的tomcat服务器就会处理越多的请求,如两个tomcat都是1,Apache就按1: 1的比例转发,如果是2和1就按2: 1的比例转发。 route参数对应后续tomcat配置中的引擎路径(jvmRoute)。 3、在Apache安装目录下新增conf/jk目录夹,再新增mod_jk.conf文件,文件内容如果下: #加载mod_jkModule LoadModulejk_modulemodules/mod_jk-1.2.31-httpd-2.2.3.so #指定workers.properties文件路径 JkWorkersFileconf/jk/workers.properties #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器 JkMountFileconf/jk/uriworkermap.properties JkLogFilelogs/mod_jk.log JkShmFilelogs/mod_jk.shm JkLogStampFormat"[%a%b%d%H: %M: %S%Y]" JkRequestLogFormat"%w%V%T" JkMount/*controller 4、在Apache安装目录下找到conf/jk目录夹,新增uriworkermap.properties文件,文件内容如下: /*=controller #! /*.gif=controller #! /*.jpg=controller #! /*.png=controller #! /*.css=controller #! /*.js=controller #! /*.htm=controller #! /*.html=controller /jkstatus=status 感叹号表示接下来的URI不要由JK进行处理,也就是Apache直接处理所有的图片、css文件、js文件以及静态html文本文件 5、在Apache安装目录下找到conf/jk目录夹,新增workers.properties文件,文件内容如下: worker.list=controller,status,jvm1,jvm2,jvm3,jvm4 worker.template.type=ajp13 worker.template.ping_mode=A worker.template.ping_timeout=20000 worker.template.connection_pool_size=2048 worker.template.socket_keepalive=true worker.template.socket_connect_timeout=20000 worker.jvm1.reference=worker.template worker.jvm1.port=8009 worker.jvm1.host=127.0.0.1 worker.jvm2.reference=worker.template worker.jvm2.port=9009 worker.jvm2.host=127.0.0.1 worker.jvm3.reference=worker.template worker.jvm3.port=10009 worker.jvm3.host=127.0.0.1 worker.jvm4.reference=worker.template worker.jvm4.port=11009 worker.jvm4.host=127.0.0.1 worker.controller.type=lb worker.controller.balanced_workers=jvm1,jvm2,jvm3,jvm4 worker.controller.sticky_session=false worker.status.type=status worker.status.read_only=true 6、在Apache安装目录下找到conf/extra目录夹,修改httpd-mpm.conf文件 MinSpareServers 5允许最小的空闲进程 MaxSpareServers 10允许最大的空闲进程 StartServers 5HTTP服务启动时创建的http进程数量 MaxClients 150这个是服务器最大连结数,如果超过150联结的话系统就有等待情况,如果繁忙的话150是不够的 MaxRequestsPerChild 0 这个建立设置10000,apache避免程序有异常,定义一个子进程完成多少个请求以后退出,如果是0就是永远不退出。 如果对自己程序比较难把我的话建议设置一个稍大的值而不是0 ServerLimit4000使得无须重编译Apache就可以加大MaxClients 重启Apache服务,如果此时访问http: //localhost/将会返回503错误,打开刚才配置的错误日志logs/lbtest-error.log,可以看到错误原因是因为后台服务器没有响应,因为此时tomcat尚未配置和启动。 四、Tomcat配置 如果仅仅为了配置一个可用的集群,Tomcat的配置将会非常简单。 分别打开t1、t2、t3和t4的server.xml配置文件(在E: \t1\conf下面),对于t1,尽量采用默认的设置,而对t2、t3和t4作较大改动以避免与t1冲突。 如果不在同一台服务器上运行,对于端口就不需做改动。 首先是配置关闭端口,找到 下面配置Connector的端口,找到non-SSLHTTP/1.1Connector,即tomcat单独工作时的默认Connector,保留t1默认配置,在8080端口侦听,而把t2设置为在9080端口侦听,后面类似 往下找到AJP1.3Connector, 注意,这里的端口对应Apachehttpd.conf中BalancerMember中配置的ajp连接端口。 继续向下配置引擎,找到 这里的jvmRoute对应Apachehttpd.conf中BalancerMember中配置的route参数。 Tomcat内存配置: 在bin目录下找到catalina.bat文件,在些文件中加入一行代码: setJAVA_OPTS=-Xms512m-Xmx1024m-XX: PermSize=128M-XX: MaxNewSize=256m-XX: MaxPermSize=256m server.xml的配置修改完毕,下一步需要对具体的应用进行配置。 在webapps目录下新建test目录,在test目录下新建test.jsp文件,代码如下: <%@pagecontentType="text/html;charset=GBK"%> <%@pageimport="java.util.*"%>
ServerInfo:
<%
out.println(request.getLocalAddr()+":
"+request.getLocalPort()+"
");%>
<%
out.println("
ID"+session.getId()+"
");
StringdataName=request.getParameter("dataName");
if(dataName!
=null&&dataName.length()>0){
StringdataValue=request.getParameter("dataValue");
session.setAttribute(dataName,dataValue);
}
out.print("Session列表");
Enumeratione=session.getAttributeNames();
while(e.hasMoreElements()){
Stringname=(String)e.nextElement();
Stringvalue=session.getAttribute(name).toString();
out.println(name+"="+value+"
");
System.out.println(name+"="+value);
}
%>
名称:
值:
启动t1,待t1启动完成后再启动t2、t3、t4。
再次访问http:
//localhost,可以看到小猫页面。
访问http:
//localhost/test/test.jsp。
可以看到包括服务器地址,端口,sessionid等信息在内的页面。
如果需要向集群中增加节点,首先需要对tomcat作类似配置,然后修改Apachehttpd.conf,增加BalancerMember,指向新增的tomcat即可。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Apache22 tomcat6018 集群 部署 手册