================================================================================
Linux as4下apache+tomcat+JDK整合
原理:
tomcat和apache各有各的优缺点,tomcat对JAVA的支持,是apache所不能比的,但同时tomcat对静态页面的处理,安全性和WEB服务的性能又不如apache服务,因此将两种应用相结合,由apache做web服务,处理前台工作,当有JAVA方面的请求时,将请求转发给tomcat, tomcat做后台处理,将结果交给apache.由apache服务把结果返回给浏览用户.让两种服务相互弥补不足,发挥自己所长.
架构方式:
服务1上部署:[Apache][Tomcat][转发器][JDK]
服务2上部署:[Tomcat][JDK] (做负载均衡)
如果条件允许可以将apache单独部署到一台服务器上,这个可以减轻服务器1的压力
1.操作系统
RedHat Linux AS4
2.所需软件包
[Apache] httpd-2.2.8.tar.gz
[Tomcat] apache-tomcat-5.5.16.tar.tar
[转发器] tomcat-connectors-1.2.26-src.tar.gz
[JDK] jdk-1_5_0_06-linux-i586.bin
3.安装步骤
A 安装JDK
将jdk-1_5_0_06-linux-i586.bin拷贝到/usr/local下
# cd /usr/local/
# chmod +x jdk-1_5_0_06-linux-i586.bin
# ./jdk-1.5.0_04-linux-i586-rpm.bin //此时会要求接受协议,输入yes即可
# vi /root/.bashe_profile
#
添加如下内容
export CATALINA_HOME=/usr/local/tomcat //定义tomcat
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:$CATALINA_HOME/bin
export JAVA_HOME=/usr/local/jdk //定义jdk
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:HOMR/bin
export JAVA_OPTS="-Djava.awt.headless=true"
export LANG=zh_CN //定义字符集
B 安装Apache
将httpd-2.2.8.tar.gz拷贝到/usr/local/src下
#cp httpd-2.2.8.tar.gz /usr/local/src
# tar zxvf httpd-2.2.8.tar.gz
# cd httpd-2.2.8
#./configure --prefix=/usr/local/apache2 --enable-so --enable-vhost-alias --enable-rewrite --enable-deflate --with-mpm=worker
#make
#make install
# vi /usr/local/apache/conf/httpd.conf
将Listen 80 修改为Listen 127.0.0.1:80 (219行) 例//Listen 本机IP:80(个人认为改不改没有意义)
将ServerName 修改为ServerName LocalHost:80 (291行)
在DirectoryIndex中添加 index.jsp (394行)
# cd /usr/local/apache/bin/
# ./apachectl configtest
显示Syntax ok则表明安装成功
启动服务
#./apachectl start
启动apache服务后,浏览器中访问本机80端口,查看端口是否正常,输入:本机IP:80
关闭服务
# ./apachectl stop
C安装Tomcat
将apache-tomcat-5.5.16.tar.tar拷贝到所要安装的目录
# cp apache-tomcat-5.5.16.tar.tar /usr/local/
# tar zxvf apache-tomcat-5.5.16.tar.tar
# mv apache-tomcat-5.5.16 tomcat
启动服务
# cd /usr/local/tomcat/bin
#./startup.sh
关闭服务
#./shutdown.sh
验证:启动服务后,访问本机8080端口,查看端口是否正常(输入 本机IP:8080)
D 安装 转发器
将tomcat-connectors-1.2.26-src.tar.gz拷贝到相应目录/usr/local/src
# tar xzvf tomcat-connectors-1.2.26-src.tar.gz
# cd tomcat-connectors-1.2.26-src.tar.gz/jk/native
# chmod 755 buildconf.sh
# ./buildconf.sh
# ./configure --with-apxs=/usr/local/apache/bin/apxs
# make
# make install
# cd /usr/local/tomcat-connectors-1.2.26-src.tar.gz/native/apache-2.0/
# cp mod_jk.so /usr/local/apache2/modules/
E 系统整合
配置服务器1
# vi /usr/local/apache/conf/httpd.conf
在文件最末尾加上如下语句
#Load mod_jk
LoadModule jk_module modules/mod_jk.so
# Configure mod_jk
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkMount /*.jsp loadbalancer
JkMount /servlet/* loadbalancer
JkMount /application/* loadbalancer
#vi /usr/local/apache2/conf/workers.properties
添加下列语句
#
# workers.properties
#
# In Unix, we use forward slashes:
ps=/
# list the workers by name
worker.list=tomcat1, tomcat2, loadbalancer
# ------------------------
# First tomcat server
# ------------------------
worker.tomcat1.port=8009
worker.tomcat1.host=*.*.*.* //第一台服务器的IP
worker.tomcat1.type=ajp13
# Specify the size of the open connection cache.
#worker.tomcat1.cachesize
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
# ----> lbfactor must be > 0
# ----> Low lbfactor means less work done by the worker.
worker.tomcat1.lbfactor=100
# ------------------------
# Second tomcat server
# ------------------------
worker.tomcat2.port=8009
worker.tomcat2.host=*.*.*.* //第二台服务器的IP
worker.tomcat2.type=ajp13
# Specify the size of the open connection cache.
#worker.tomcat2.cachesize
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
# ----> lbfactor must be > 0
# ----> Low lbfactor means less work done by the worker.
worker.tomcat2.lbfactor=100
# ------------------------
# Load Balancer worker
# ------------------------
# The loadbalancer (type lb) worker performs weighted round-robin
# load balancing with sticky sessions.
# Note:
# ----> If a worker dies, the load balancer will check its state
# once in a while. Until then all work is redirected to peer
# worker.
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=tomcat1, tomcat2
#
# END workers.properties
#
配置tomcat
#vi /usr/local/tomcat/conf/server.xml
在120行左右加入如下语句(去注释)<!--符号代表注释的开头,-->符号代表注释的结尾。
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1"></Engine>
例:
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">-->
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1"></Engine>
配置服务器2
安装JDK方法同上
安装tomcat方法同上
配置tomcat
#vi /usr/local/tomcat/conf/server.xml
在120行下插入语句(去注释)
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat2"></Engine>
例:
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">-->
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat2"></Engine>
系统整合完毕
启动apache和tomcat服务
# /usr/local/apache2/bin/apachectl start
# /usr/local/tomcat/bin/startup.sh
测试
1在浏览器中输入http://apache机器的ip 回车.如果能够出现tomcat的测试页面 表示成功!
2关闭第一台服务器上的tomcat,后在浏览器中输入http://apache机器的ip 回车 如果能够出现tomcat的测试页面表示成功!(此时说明第二台服务器上的tomcat工作正常)
作者:李加龙 友:喜悦转载
供大家参考并祝大家工作顺利事业有成!!!