linux下配置apche2.2.6 && tomcat5.5集群

到Apache官方网站下载所需要的文件:
httpd-2.2.6.tar.gz
apache-tomcat-5.5.23.tar.gz
mod_jk-1.2.27-httpd-2.2.6.so
一、安装apache
# tar xzvf httpd-2.2.6.tar.gz
# cd httpd-2.2.6
# ./configure --prefix=/usr/local/apache2 --enable-so
说明:--prefix为指定apache的安装路径(请按实际情况修改),其它项为预安装的模块, 除了 --enable-so 项外(--enable-so参数启用共享模块功能),可指定其它模块以后再安装
# make
# make install

二、复制mod_jk到modules
将 mod_jk-1.2.27-httpd-2.2.6.so放到apache下的modules文件夹下,并改名为mod_jk.so
注:mod_jk.so文件也可以在
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/下载。
(mod_jk-1.2.27-httpd-2.2.6.so is for Apache 2.2.x and works with Apache 2.2.6 and later;
如果这样则不需要编译tomcat-connectors-1.2.26-src.tar.gz。)
如果此处的mod_jk.so是通过其它方法或者途径得到的,在后面启动apache的时候可能会提示:
Cannot load /usr/local/termite/apache/modules/mod_jk.so into server: /usr/local/termite/apache/modules/mod_jk.so: invalid ELF header
#file mod_jk.so
可能会显示 mod_jk.so: MS-DOS executable (EXE), OS/2 or MS Windows
而正确的应该显示
mod_jk.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped 

三、在apache/conf/下面建立两个配置文件mod_jk.conf和workers.properties。
#cd /usr/local/apache2/conf/
# vi mod_jk.conf
添加如下内容:
#########################################################################
# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile conf/workers.properties

# Where to put jk logs
JkLogFile logs/mod_jk.log

#Set the jk log level [debug/error/info]
JkLogLevel error

#将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /*.jhtml controller
JkMount /*.do controller

JkMountCopy all #详细见下面说明
注意:使用mod_jk 1.2.6+时,如果你希望声明一个全局的JkMount's或者JkMountFile's来代替每个虚拟主机,你需要引入’JkMountCopy all’作为全局变量。如果你不想为每个虚拟主机拷贝同样的JkMount/MkMountFile,你需要在虚拟主机指令中声明’JkMountCopy On’。如果不加入此项,则负载均衡会失败!

########################################################################
# vi workers.properties
添加内容如下:
#######################################################################
worker.list=controller
#========tomcat1========
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
#========tomcat2========
worker.tomcat2.port=9009
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2
worker.controller.sticky_session=true
worker.controller.sticky_session_force=false
#######################################################################

针对tomcat1还有几个参数:
#设置JK与远程服务器的Socket连接超时秒数,如果超出此秒数则产生一个错误,并再次重试。如果为0,JK会一直等下去。默认为0
#worker.tomcat1.socket_keepalive=1

#防止防火墙切断不在使用的连接,通过设置为True,通知操作系统向不在使用的连接发送KEEP_ALIVE消信。
#默认为False
#worker.tomcat1.socket_timeout=10
#通迅失败的的重式次数 默认是2
#worker.tomcat1.retries=3
#每次重式的时间间隔,毫秒单位 默认值为100
#worker.tomcat1.retry_interval:
说明如下:
################################3
1、其中worker.tomcat1.host中,tomcat1代表节点名,host值为节点IP, 如果有更多节点,顺序定义更多的node段,并在worker.controller.balance_workers后全部列出。
2、lbfactor是负载分配权重,值越大分配的负载越多。
3、worker.controller.sticky_session,设置为1或true使用粘着session,设置为0或false不使用粘着session。如果sticky_session设为true时,建议sticky_session_force设为false,此参数表明如果集群中某台服务器在多次请求没有响应后,将转发当前的请求到其它服务器上处理;sticky_session=false时,影响比较大,会导致转发到其它服务器上的请求,找不到原来的session,所以如果此时请求中有读取session中某些信息的话,就会导致应用的null异常。sticky_session、sticky_session_force的默认值分别为true,false。
sticky_session   sticky_session_force             含义
     true             false            SESSION会复制,有粘性
     true             true             SESSION不复制,有粘性
     false            false            SESSION会复制,无粘性
     false            true             SESSION会复制,无粘性
#################################

四、配置httpd.conf
1、在最后加入:
增加关于加载mod_jk的语句:
LoadModule jk_module modules/mod_jk.so
Include conf/mod_jk.conf
2、注意,apache默认配置的虚拟主机是没有访问权限,需要设置:
找到
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
将Deny 改为:allow
3、去掉前面的#符号
Include conf/extra/httpd-vhosts.conf
编辑httpd-vhosts.conf文件:添加虚拟主机:
<VirtualHost *:80>
    DocumentRoot D:/www/cpay
    ServerName www.e-baotong.com.cn
    ServerAlias e-baotong.com.cn
    DirectoryIndex  index.htm
</VirtualHost>

五、配置tomcat5.5
tomcat5.5的安装请参见:http://blog.sina.com.cn/s/blog_56d8ea900100bz2w.html

安装完之后,请配置server.xml文件,将
<Connector port="8009"
               enableLookups="false" redirectPort="8443" debug="0"
               protocol="AJP/1.3" URIEncoding="UTF-8"/>
打开。其他port可以关闭

六、测试服务
启动apache和各节点jboss服务
Apache启动和停止:
/usr/local/termite/apache/bin/apachectl start
/usr/local/termite/apache/bin/apachectl stop
或在/usr/local/termite/apache/bin目录下执行./httpd -k start,./httpd -k stop

其它:集群中webapp多节点更新方法:
1、自定义shell,scp命令实现
2、用sync来搞,同步的方式
  如果是程序发布,就直接先打成war包,然后再在远程写个脚本一执行就可以了,这样比较保险;
  如果是频繁的更新小文件,为了更新起来快一些,就用sync。

猜你喜欢

转载自373941312-qq-com.iteye.com/blog/1040269