您的位置:首页 > 运维架构 > Apache

apache、jboss整合

2010-09-22 23:07 211 查看
[align=center]Jbossapache整合[/align]
[align=center][/align]
System:Linux5.5 x86_64
Author:hx10
Date:2010/9/22 hangzhou
Blog:http://hx100.blog.51cto.com

IP:192.168.145.129
软件列表如下:
jdk-6u11-linux-x64.bin
jboss-4.2.3.GA.zip
httpd-2.2.16.tar.gz
mod_jk-1.2.30-httpd-2.2.X.so
都放到/usr/local/目录下

第一步、安装jdk
cd /usr/local/
chmod +x jdk-6u11-linux-x64.bin
./jdk-6u11-linux-x64.bin

设置环境变量
vim /etc/profile

JAVA_HOME=/usr/local/jdk1.6.0_11
JRE_HOME=/usr/local/jdk1.6.0_11/jre
PATH=$JAVA_HOME/bin:JRE_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH


source /etc/profile

[root@linux local]# java -version

java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) 64-Bit Server VM (build 11.0-b16, mixed mode)


第二步、安装jboss
cd /usr/local/
unzip jboss-4.2.3.GA.zip

第三步、安装apache
wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo -O /etc/yum.repos.d/CentOS-Base.repo
yum -y install zlib-devel
如果不安装,报错如下:

checking for zlib location... not found
checking whether to enable mod_deflate... configure: error: mod_deflate has been requested but can not be built due to prerequisite failures


tar -zxvf httpd-2.2.16.tar.gz
cd httpd-2.2.16

./configure --prefix=/usr/local/apache --enable-so --enable-vhost-alias --enable-rewrite --enable-deflate --enable-mods-shared=all --with-mpm=worker

make
make install

第四步、使用mod.jk来结合apache和jboss
4-1、先安装mod.jk
方法1:
下载地址:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
cd /usr/local/src
wget http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.30/x86_64/mod_jk-1.2.30-httpd-2.2.X.so cp mod_jk-1.2.30-httpd-2.2.X.so /usr/local/apache/modules/mod_jk.so

方法2:
安装mod_jk.so的,测试通过的
tar –zxvf tomcat-connectors-1.2.30-src.tar.gz
cd tomcat-connectors-1.2.23-src
cd native
./configure --with-apxs=/usr/local/apache/bin/apxs
make
cp ./apache-2.0/mod_jk.so /usr/local/apache/modules/

4-2、修改apache的配置文件
vim /usr/local/apache/conf/httpd.conf
1.
查找LoadModule,在这一段最后添加

LoadModule jk_module modules/mod_jk.so


2.

Include conf/extra/httpd-vhosts.conf //这一句前面的#去掉


3. 增加一个配置文件,就在vhost下面

# Virtual hosts
Include conf/extra/httpd-vhosts.conf //在这一行下添加
Include conf/mod_jk.conf


4.
修改
#ServerName www.example.com:80为ServerName 127.0.0.1:80


5.添加默认首页

<IfModule dir_module>
DirectoryIndex index.html index.htm index.jsp
</IfModule>


4-3、增加mod_jk配置文件
在/usr/local/apache/conf/下面建立两个配置文件mod_jk.conf和workers.properties
cd /usr/local/apache/conf/
vim mod_jk.conf

JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"


注释如下:

# 指出以下mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /usr/local/apache/conf/workers.properties
# 指出 mod_jk 模块的日志输出位置
JkLogFile /usr/local/apache/logs/mod_jk.log
# 设置 mod_jk 模块的日志级别 [debug/error/info]
JkLogLevel info
# 设置 mod_jk 模块的日志格式
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# 将所有对特定文件或目录的请求通过ajp13的协议送给JBoss,让JBoss服务器来处理
#(用于测试配置是否成功,配置成功后请注释)
JkMount /web-console/* worker1
# 将所有对后台(带有/xxxx目录)的请求通过ajp13的协议送给JBoss,让JBoss服务器来处理
JkMount /xxxx/* worker1

vim workers.properties

#Defining a worker named worker1 and of type ajp13
worker.list=worker1
#Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300


4-5、配置apache的vhost
配置/usr/local/apache/conf/extra/httpd-vhosts.conf,增加mod_jk的配置
vim /usr/local/apache/conf/extra/httpd-vhosts.conf
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
ServerAdmin webmaster@hx10.com
DocumentRoot "/usr/local/jboss-4.2.3.GA/server/default/deploy"
ServerName 192.168.145.129
ServerAlias www.hx10.com
JkMount /*.jsp worker1
JkMount /jmx-console/* worker1           //这个工程能通过80端口来访问
JkMount /web-console/* worker1           //这个工程能通过80端口来访问,如果没有定义的工程,不能访问
#apache will serve the static picture
JkUnMount /*.jpg worker1
#JkUnMount /*.gif worker1
JkUnMount /*.swf worker1
JkUnMount /*.bmp worker1
JkUnMount /*.png worker1
ErrorLog "logs/dummy-host.example.com-error_log"
CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

4-6、修改jboss配置文件
jboss默认的端口是8080,可以注视掉,通过8009交给apache来解析
cd /usr/local/jboss-4.2.3.GA/server/default/deploy/jboss-web.deployer
vim server.xml

<!--
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
-->

这这一段注视掉

4-7、启动和停止
最后启动apache和jboss
/usr/local/apache/bin/apachectl start
setsid /usr/local/jboss-4.2.3.GA/bin/run.sh -b 0.0.0.0
最后来一个展示(jmx-console后面需要一个/)




本文出自 “无云安全技术站” 博客,请务必保留此出处http://hx100.blog.51cto.com/44326/395967
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: