1.安装apache
下载 http://apache.mirrors.hoobly.com/httpd/httpd-2.2.3.tar.gz
cd /usr/
tar zxvf httpd-2.2.3.tar.gz
cd httpd-2.2.3
./configure ——prefix=/usr/apache ——enable-so
make
make install
下载 mod_jk-1.2.27-httpd-2.2.6.so
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/
将 mod_jk-1.2.27-httpd-2.2.6.so放到apache下的modules文件夹下,并改名为mod_jk.so
启动apache命令
/usr/apache/bin/apachectl start
如果此处的mod_jk.so是通过其它方法或者途径得到的,在后面启动apache的时候可能会提示:
Cannot load /usr/apache/modules/mod_jk.so into server: /usr/apache/modules/mod_jk.so: invalid ELF header
2.在 conf目录下创建workers.properties文件,该文件将告诉apache 每个负载均衡的tomcat
服务的运行参数,如机器名和端口号等。
worker.list=loadbalancer,status,jvm1,jvm2
# Define the first node...
worker.jvm1.port=8009
worker.jvm1.host=127.0.0.1
worker.jvm1.type=ajp13
worker.jvm1.lbfactor=1
worker.jvm1.socket_keepalive=1
worker.jvm1.socket_timeout=0
worker.jvm1.retries=3
# Define the second node...
worker.jvm2.port=9009
worker.jvm2.host=localhost
worker.jvm2.type=ajp13
worker.jvm2.lbfactor=1
worker.jvm2.socket_keepalive=1
worker.jvm2.socket_timeout=0
worker.jvm2.retries=3
# Now we define the load-balancing behaviour
worker.loadbalancer.type=lb
worker.method=S
worker.retries=3
worker.loadbalancer.balance_workers=jvm1,jvm2
worker.loadbalancer.sticky_session=true
worker.loadbalancer.sticky_session_force=false
worker.status.type=status
3.编辑配置文件httpd.conf
vi conf/httpd.conf
找到
# Example:
# LoadModule foo_module modules/mod_foo.so
在下方插入
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkMount /*.jsp
loadbalancer
JkLogFile
logs/mod_jk.log
JkLogLevel info
找到DocumentRoot
修改为
DocumentRoot "/usr/local/tomcat6/webapps/ROOT"
在下方加入
<Directory "/usr/local/tomcat6/webapps/ROOT">
Options Includes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
XBitHack on
</Directory>
<Directory "/usr/local/tomcat6/webapps/WEB-INF">
Order deny,allow
Deny from all
</Directory>
找到DirectoryIndex index.html
修改为DirectoryIndex index.html index.jsp
保存退出
4.配制Tomcat 服务器 修改conf/server.xml文件
<Engine debug="0" defaultHost="localhost" name="Catalina">为:
<Engine debug="0" defaultHost="localhost" name="Catalina" jvmRoute="jvm1">
第二个tomcat实例的机器上,替换为 jvmRoute="jvm2"这个jvmRoute一定要跟 workers.properties 中的名称完全匹配,否则也不能实现session绑定.
将<Cluster />标签注释去掉 (注意修改端口) !
在项目中的web.xml加入 <distributable/>
5设置自启动
方法1:
#cd /etc/rc.d
#vi rc.local
在rc.local加入:
/usr/apache/bin/apachectl start
方法2:
将apache注册为系统服务
首先将apachectl命令拷贝至/etc/rc.d/init.d目录下,改名为httpd
#cp /usr/apache/bin/apachectl /etc/rc.d/init.d/httpd
文件存在直接覆盖
直接注册服务会报错,使用编辑器打开httpd文件,并在第一行#!/bin/sh下增加两行文字如下
# chkconfig: 345 70 30
# description: Apache
接着注册该服务
chkconfig --add httpd
加入Linux启动过程,仅在level 3, level 4,level 5级别下运行
chkconfig --levels 345 httpd on
reboot