Linux下Apache/Jboss整合
操作系统
Redhat as4
所需软件包:
Apache所用包:httpd-2.0.59.tar.gz
Jboss 所用包:jboss-4.0.3SP1.tar.gz
JDK 所用包:j2sdk-1_4_2_11-linux-i586.bin
整合所需包:jakarta-tomcat-connectors-1.2.13-src.tar.gz
1、环境配置
字符集配置
设定系统语言环境:/etc/sysconfig/i18n为zh_CN.GBK
vi /etc/sysconfig/i18n
LANG="zh_CN.GBK"
SUPPORTED="zh_CN.GBK:zh:zh_CN.GB2312:zh:zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
检查服务器的时区与时间是否设定正确:正确时区应设定为:China standard Time(CST) 中国标准时间。
执行cat /etc/sysconfig/clock看是否有以下3行显示,如果不是的话则需要做下面的修改步骤(或者执行timeconfig)
ZONE="Asia/Shanghai"
UTC=false
ARC=false
修改步骤:
#mv /etc/localtime /etc/localtime.bak
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
将时区文件(/etc/sysconfig/clock)更改为以下内容:
ZONE=Asia/Shanghai
UTC=false
ARC=false
2、安装JDK
修改j2sdk权限为可执行
#chmod 755 j2sdk-1_4_2_11-linux-i586.bin
#./j2sdk-1_4_2_11-linux-i586.bin
依照提示安装选择yes执行安装
#mv j2sdk1.4.2_11 /usr/local/termite/
#vi /etc/profile
加入下面几行:
JAVA_HOME=/usr/local/termite/j2sdk1.4.2_11
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
NLS_LANG='SIMPLIFIED CHINESE_CHINA'.ZHS16GBK
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:$JAVA_HOME/jre/bin
注意:
$JAVA_HOME/bin:要放在最前面因为这个才是我们安装的jdk的路径,开发的程序一般都执行这个路径下的JDK.如果不放在最前面,执行的就有可能是系统自带的JDK了,有些时候会因为路径错误而报错。
修改export这一行,添加:
export JAVA_HOME CLASSPATH PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC NLS_LANG
备份源文件
# mv /usr/bin/java /usr/bin/java.bak
# mv /usr/bin/javac /usr/bin/javac.bak 如果没有javac则不用此步
注销环境,使环境变量生效(或者执行source /etc/profile命令 )
# java
# javac
#java -version
如果java 和javac运行了,说明java环境变量配置成功。
3、安装jboss
#tar -zxvf jboss-4.0.3SP1.tar.gz
#mv jboss-4.0.3SP1 /usr/local/termite
jboss启动与关闭
启动jboss:
nohup /usr/local/termite/jboss-4.0.3SP1/bin/run.sh & \\jboss的后台运行命令
查看启动信息:
tail -f nohup.out
关闭jboss:
/usr/local/termite/jboss-4.0.3SP1/bin/shutdown.sh -S
========================================
nohup ./run.sh &
注意run.sh的路径
在shell中回车后会提示:
[~]$ appending output to nohup.out
原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用。
Jboss服务端口(也是默认端口)为8080
4.安装Apache
tar –zxvf httpd-2.0.59.tar.gz
cd httpd-2.0.59
./configure --prefix=/usr/local/termite/apache --enable-so --enable-vhost-alias --enable-rewrite --enable-deflate --enable-mods-shared=all --with-mpm=worker
make
make install
注:采用worker模式,没有原来的256进程限制。
ln -s /usr/local/termite/apache/conf/httpd.conf /etc/httpd.conf
根据实际情况,设置好Web端口、默认语言编码、默认页、虚拟目录等
Apache服务端口为80
5.安装jakarta-tomcat-connectors-1.2.13-src.tar.gz
tar zxvf jakarta-tomcat-connectors-1.2.13-src.tar.gz
cd jakarta-tomcat-connectors-1.2.13-src
cd jk/native
./configure --with-apxs=/usr/local/termite/apache/bin/apxs --with-java-home=/usr/local/termite/j2sdk1.4.2_11 --with-java-platform=2 --enable-jni
make
cp apache-2.0/mod_jk.so /usr/local/termite/apache/modules/
注:如果此处的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
cd /usr/local/termite/apache/modules
chmod 755 mod_jk.so
cd /usr/local/termite/jboss-4.0.3SP1/server/default/deploy/jbossweb-tomcat55.sar/
vi server.xml (37行左右)
修改为 jvmRoute="node1">
vi META-INF/jboss-service.xml (112行左右)
cd /usr/local/termite/apache/conf/
建立新文件
vi workers.properties,文件内容如下:
worker.list=loadbalancer,status
worker.node1.port=8009
worker.node1.host=Rick.com
worker.node1.type=ajp13
worder.node1.lbfactor=1
worker.node1.cachesize=10
worker.node2.port=8009
worker.node1.host=localhost
worker.node1.type=ajp13
worder.node1.lbfactor=1
worker.node1.cachesize=10
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node1,node2
worker.loadbalancer.sticky_session=1
worker.status.type=status
vi uriworkermap.properties 文件,文件内容如下:
/jmx-console=loadbalancer
/jmx-console/*=loadbalancer
/web-console=loadbalancer
/web-console/*=loadbalancer
touch /var/log/httpd/jk.shm
vi /usr/local/termite/apache/conf/httpd.conf 中添加加载 mod_jk.so 信息
在此文件中会看到一堆LoadModule(230-270行左右)的加载模块,
在此处添加如下信息:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "/usr/local/termite/apache/conf/workers.properties"
JkLogFile "/usr/local/termite/apache/logs/mod_jk.log"
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%m:%s %y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /application/* loadbalancer
JkMountFile "/usr/local/termite/apache/conf/uriworkermap.properties"
JkShmFile "/usr/local/termite/apache/logs/jk.shm"
JkMount status
Order deny,allow
Deny from all
Allow from 127.0.0.1
8) cd /usr/local/termite/jboss-4.0.3SP1/server/default/deploy/
mkdir test.war
vi test.war/hello.jsp,内容如下
termite’s JSP test
<%
String Msg = "termite’s JSP test.";
out.print("Hello World!");
%>
<%=Msg%>
9)启动Apache:/usr/local/termite/apache/bin/apachectl restart
10)启动Jboss:cd /usr/local/termite/jboss-4.0.3SP1/bin
nohup ./run.sh &
11)测试: