Tomcat6和Apache2整合及mod_bandwidth和mod_limitipconn模块安装配置

把Tomcat和Apache整合起来有如下几点好处:

1,利用Apache做负载均衡和容错;

2,Apache专注做静态网页解析,tomcat专注做动态网页解析,这样能提高服务器的效率;

3,应用程序可以无缝升级。

 首先安装apache和tomcat以及安装mod_jk(sudo apt-getinstall libapache2-mod-jk)。

一、AJP连接器

    Tomcat6为AJP协议提供了作为java类的AJP连接器实现,他包含在Tomcat发布版本中。首先你应该在$CATALINA_HOME/server.xml中定义连接器:

<-- Define an AJP1.3 Connector on port 8009 -->

      <Connector port="8009" protocol="AJP1.3" redirectPort="8443" />

  一般把注释去掉即可,没有的自己添加。

二、编写workers.properties文件

  workers.properties文件是用来定义与tomcat连接的一些变量,你不需要自己创建,在安装libapache2-mod-jk软件包的时候已经在/etc/libapache2-mod-jk/目录下创建了一个,你直接修改他就可以了:

$ sudo nano /etc/libapache2-mod-jk/workers.properties

下面找到相应的行对其进行修改:

worker.list=myworker

worker.myworker.port=8009

worker.myworker.host=localhost //如果你是放在其他服务器上的请修改成对应主机ip

worker.myworker.type=ajp13

worker.myworker.lbfactory=1

worker.loadbalancer.type=lb

worker.loadbalancer.balance_workers=myworker

三、配置/etc/apache2/apache2.conf(这里比较推荐到/etc/apache2/conf.d/目录下创建mod_jk文件,在其中编写本步骤内容也是一样的)

#告诉JK到哪里去找workers.properties

JkWorkersFile /etc/libapache2-mod-jk/workers.properties #重启apache后如果出现allow once 提示,请注释掉此行

#定义JK日志位置

JkLogFile /var/log/apache2/mod_jk.log

#设置JK日志的级别(debug/error/info)

JkLogLevel info

设置Log 的格式

JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

# JK 选项

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

#设置请求格式

JkRequestLogFormat "%w %V %T"

四、配置虚拟主机

$ sudo nano/etc/apache2/sites-available/default

在最后加入下面代码:

  .....

  </Directory>

JkMount /*.jsp myworker   #把所以jsp页面请求都交给myworker处理

JkUnMount /*.php myworker #所有的php页面请求都不交给myworker处理

</VirtualHost>


在tomcat 的应用目录/var/lib/tomcat6/webapps/ROOT/建立一个test.jsp,启动Apache和Tomcat,用浏览器访问http://localhost/test.jsp,应该可以看到正确的页面了。
 
test.jsp 的例子
Hello! The time is <%= new java.util.Date() %>


到此整合成功。

 

apache模块mod_limitipconn安装配置

下载wget http://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2

tar xvf mod_limitipconn-0.24.tar.bz2

为Apache编译安装扩展模块时需要apxs工具 安装apxs

apt-get install apache2-dev

编辑“Makefile”文件,修改内容如下:

APXS=apxs

改为:

APXS=/usr/bin/apxs2

保存后继续安装:

make && make install

在/etc/apache2/mods-available/ 建立limitipconn.conf

根据需求输入内容:

<IfModule mod_limitipconn.c>

# 这里表示限制根目录,即全部限制,可以根据需要修改

<Location />

# 每个IP的最大连接数

MaxConnPerIP 3

#表示image目录不受限制

NoIPLimit image/*

</Location>

</IfModule>


apache模块mod_bandwidth 安装配置

wget http://ivn.cl/files/source/mod_bw-0.9.tgz

tar -xvf mod_bw-0.9.tgz

/usr/bin/apxs2 -a -c mod_bw.c

cp  ./lib/mod_bw.so  /usr/lib/apache2/modules/

在“/etc/apache2/mods-available/”文件夹中建立新文件:bw.load

输入以下内容:

BandWidthModule On
LoadModule bw_module /usr/lib/apache2/modules/mod_bw.so

在“/etc/apache2/conf.d/”文件夹中建立新文件:bw.conf

输入以下内容:

<IfModule mod_bw.c>

BandwidthModule On

ForceBandWidthModule On

#限制用户的下载速度为每秒50K,这里是设置所有的,这个 module设定也可安插在virtual host 或 directory

Bandwidth all 51200

MinBandwidth all -1

</IfModule>

激活模组:

a2enmod bw


重启服务 service apache2 restart

详细配置可参考:

Bandwidth Module  的 module,模块说明文档,点击查看mod_bw-0.说明文档9.0

你可能感兴趣的:(apache,tomcat)