所需软件
httpd-2.0.65-win32-x86-no_ssl.msi 或httpd-2.0.65-win32-x86-openssl-0.9.8y.msi
apache-tomcat-7.0.42
mod_jk.so
软件下载
下载Apache,Apache是一个web服务器,主要负责解析静态内容,地址为http://httpd.apache.org/download.cgi#apache22,根据自身需要,下载相应的版本,每个版本都有no_ssl和openssl两个版本,
下载tomcat,根据自身需要,下载相应的版本。
下载 mod_jk,因为Apache和tomcat集群,需要通过jk插件进行通讯,下载地址为http://mirrors.hust.edu.cn/apache/tomcat/tomcat-connectors/jk/binaries/windows/
软件安装
Apache
双击下载的msi文件进行安装,安装完成后,在浏览器地址栏里输入127.0.0.1,测试是否安装成功
Tocmat
运行Tomcat,看时候可以正常访问, 具体请参考网上其他教程
JK
复制下载的mod_jk.so到D:\Apache2.2\modules目录中
软件配置
配置Apache
每个Tomcat worker是一个服务于web server、等待执行servlet的Tomcat实例。例如我们经常使用像Apache之类的web server转发sevlet请求给位于其后面的一个Tomcat进程(也就是前面所说的worker)。
当apache启动时,workers.properties作为插件将初始化出现在worker.list列表中的workers。每个worker的属性格式如worker.<worker名字>.<属性>=<属性值>。
在Apache根目录的conf目录里新建workers.properties文件,输入如下内容:
#server
worker.list = controller
#========tomcat1========
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#========tomcat2========
worker.tomcat2.port=8909
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balance_workers=tomcat1,tomcat2
worker.controller.sticky_session=true
worker.controller.sticky_session_force=1
上述文件简要解释如下:
worker.list:定义了apache与tomcat通讯的一个进程名称(我的理解)
worker.tomcat1.port:配置tomcat的ajp端口号
worker.tomcat1.host:配置tomcat所在 主机的IP地址
worker.tomcat1.type:配置将通过ajp13与tomcat进行通讯
worker.tomcat1.lbfactor :主要用于负载均衡。当此Tomcat worker被用于一个负载平衡worker使用时,此属性将被使用。它定义了此worker的负载平衡权值,此值越高,对于web server来说,其更加健壮。
注意:tomcat1此名称需要在tomcat的server.xml文件里进行配置
以下为worker的负载均衡的一些属性配置示例
worker.worker2.host=www2.x.com
worker.worker2.port=8009
worker.worker2.lbfactor=3.5
worker.worker2.cachesize=10
worker.worker2.cache_timeout=600
worker.worker2.socket_keepalive=1
/*worker "worker2" want ajp13 connection to be dropped after 5mn (timeout)*/
worker.worker2.socket_timeout=300
修改httpd.conf文件:
在此文件的103行左右,增加LoadModule jk_module modules/ mod_jk.so
修改184行左右的ServerName,最好修改为本机的IP地址
192行的DocumentRoot "F:/www",此处主要修改应用程序的存放路径,默认为htdocs目录
修改201行左右的
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
为
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
</Directory>
在此文件的末尾增加如下代码:
JKWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
<VirtualHost jess2013:80>
ServerAdmin localhost
ServerName localhost
DirectoryIndex index.html index.htm index.jsp index.action
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
JkMount /*WEB-INF controller
JkMount /*j_spring_security_check controller
JkMount /*.action controller
JkMount /servlet/* controller
JkMount /*.jsp controller
JkMount /*.do controller
JkMount /*.action controller
JkMount /*.jsp controller
JkMount /*fckeditor/editor/filemanager/connectors/*.* controller
JkMount /fckeditor/editor/filemanager/connectors/* controller
</VirtualHost>
注意:JkMount 主要用来配置,App的哪些文件需要Tomcat去解析,根据自身需要进行相应的配置
配置Tomcat
打开conf/server.xml文件,修改如下:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />,此处的port对应workers.properties文件里worker.tomcat1.port对应
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
在此处增加jvmRoute参数,其值与workers.properties文件里的tomcat1相对应
配置完成后,把应用程序里的静态文件放在httpd.conf里DocumentRoot设置的目录,其他jsp及class文件等需要动态解析的,则放在tomcat目录下
至此apache+tomcat集群的简单配置完成,下篇文章将推出关于ssl的相关配置