1. 安装apache
Apache2.2.11 安装配置
1 解压缩Apache,通读httpd目录里的INSTALL文件
# tar -zxvf httpd-2.2.11.tar.gz
可以把得到的文件夹移动到安装目录 /usr/local
# cd httpd-2.2.11
# ./configure
# ./configure --prefix=/usr/local/apache2 --enable-mods-shared=all
# make
# make install
# cd /usr/local/apache2/bin
# ./apachectl start
在地址栏输入http://localhost/,看到 it works欢迎页表示成功
参照:http://httpd.apache.org/docs/2.2/install.html
2 配置apache/conf/http.conf
我这里项目放在 /usr/local/apache2/htdocs 下(apache的默认目录)
添加:(让apache不访问WEB-INF目录)
<Directory "/usr/local/apache2/htdocs/WEB-INF">
Order allow,deny
</Directory>
打开注释配置语言,可以设置默认中文
Include conf/extra/httpd-languages.conf
在其下加入:日支持日文
DefaultLanguage ja-Jp
AddDefaultCharset utf-8
2. 安装jk_mod,整合Apache与Tomcat
1 把下载到的二进制文件mod_jk-1.2.28-httpd-2.2.x.so复制到apache的modules目录下
下载地址: http://apache.mirror.phpchina.com/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.28/
2 在Apache的conf目录新建立两个文件,mod_jk.conf和workers.properties文件,
mod_jk.conf的内容是jk的配置文件,包括装载模块和日志信息以及指定解析的工作器和目录,workers.properties是Tomcat wokers的配置文件。
3 在mod_jk.conf里加入以下内容(mod_jk.conf文件是方便管理,而不需要把配置都写在httpd.conf里)
#加载jk模块,名字要对应
LoadModule jk_module modules/mod_jk-1.2.28-httpd-2.2.x.so
# 加载刚才新建的workers.properties文件
JkWorkersFile conf/workers.properties
# Jk日志文件
JkLogFile logs/mod_jk.log
# Jk日志的级别,参数有[debug/error/info]
JkShmFile logs/mod_jk.shm
JkLogLevel info
# Jk日志的数据格式
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# Jk的一些配置选项 indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# Jk请求日志的格式
JkRequestLogFormat "%w %V %T"
#JSP do Servlet文件交由Tomcat处理
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
JkMount /*.do ajp13
# JkMount 表示使用Tomcat来解析, JkUnMount则相反
# 一般是jsp和servlet程序交由tomcat处理就可以了,静态文件图片等仍然由Apache处理
#JkAutoAlias /usr/local/apache2/htdocs*
#该文件夹下所有的静态文件自动交由Apache处理
JkMount /servlet/* ajp13
#/test/servlet/下所有的文件也交给Tomcat处理
4 编辑Apache的httpd.conf文件,把jk_mod.conf文件装载进来:
Include conf/mod_jk.conf
5 编辑workers.properties文件,添加以下内容:
workers.tomcat_home=/usr/local/tomcat/
workers.java_home=/usr/java/jdk/
ps=/
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
#配置参考请见http://tomcat.apache.org/connectors-doc/reference/workers.html
7 重启Apache测试
# ./apachectl restart
打开浏览器,分别通过以下两个地址访问jsp文件,如果均能正常解析表示整合成功,根据之前Apache和Tomcat的配置,test指向同一个目录
http://localhost/
http://localhost:8080/
这样,Apache与Tomcat加Jk_mod就整理完成了
3. 配置 workers.properties
4. 配置mod_jk
5. 安装多个tomcat,server.xml配置如下
6. 注意事项
(1) tomcat中的
<Engine name="Standalone" defaultHost="localhost" jvmRoute="controller">
是 Standalone jvmRoute 是负载均衡的控制器
(2)
项目的web.xml 中最上面必须加 <distributable/> 或者or set at your <Context distributable="true" />
(3)
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="4006"
selectorTimeout="100"
maxThreads="6"/>
的port 的范围在 4000-4100
(4)确保均衡管理器中配置 sticky session mode.
worker.controller.sticky_session=1
(5)worker.ajp13.port=8009 端口需要和 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 对应
(6)worker.myworker3.lbfactor=1 是配置均衡分配的概率系数,越大出现次数越大