系统 RHEL5.4_x64
服务器IP:10.13.42.165
软件:apache 2.2.2、JBoss4.4.2 、jdk1.6.0_22、JK1.2.28

以上软件均单独安装

1.安装apache 2.2.2

上传apache安装文件后,到相应目录下,解压缩
[root@localhost supcon]# tar xzvf httpd-2.2.2.tar.gz
[root@localhost supcon]# cd httpd-2.2.2
[root@localhost supcon]# ./configure --prefix=/usr/local/apache2
报如下错误:
checking for APR-util... reconfig
configure: error: Cannot use an external APR with the bundled APR-util


解决办法,需要安装apr和apr-util
[root@localhost supcon]# tar xzvf apr-1.4.2.tar.gz
[root@localhost supcon]# cd apr-1.4.2
[root@localhost supcon]# ./configure --prefix=/usr/local/apr
[root@localhost supcon]# make
[root@localhost supcon]# make install

[root@localhost supcon]# tar xzvf apr-util-1.3.10.tar.gz
[root@localhost supcon]# cd apr-util-1.3.10
[root@localhost supcon]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@localhost supcon]# make
[root@localhost supcon]# make install


[root@localhost supcon]# cd httpd-2.2.2
[root@localhost supcon]# ./configure --prefix=/usr/local/apache2 --enable-so --enable-cgi --enable-rewrite --enable-deflate --with-apr=/usr/local/apr --with-apr-

util=/usr/local/apr-util
[root@localhost supcon]# make
[root@localhost supcon]# make install


测试安装是否成功
# 启动apache
/usr/local/apache2/bin/apachectl start
打开http://127.0.0.1开看看能否打开

2 安装jdk-6u22-linux-x64.bin
[root@localhost supcon]# chmod 777 ./jdk-6u22-linux-x64.bin
[root@localhost supcon]# ./jdk-6u22-linux-x64.bin

#验证是否出错
echo $?
0代表正确
cp -a jdk1.6.0_22 /usr/local/jdk
#配置环境变量
vi /etc/profile

export JAVA_HOME=/usr/local/jdk
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:$JAVA_HOME/jre/bin

#使变量立即生效
source /etc/profile
#测试配置是否成功
java –version
会显示JDK的版本号

3 安装Jboss4.2.2
unzip jboss4.2.2.GA.zip
cp -a jboss-4.2.2.GA /usr/local/jboss

#JBOSS默认只能本机访问,修改server.xml使它支持所有网络访问
vi $jboss/server/default/deploy/jboss-web.deployer/server.xml ($jboss表示你jboss的目录,下同)

vi /usr/local/jboss/server/default/deploy/jboss-web.deployer/server.xml

修改
<Connector port="8080" address="${jboss.bind.address}"

<Connector port="8080" address="0.0.0.0"   >
修改
<Connector port="8009" address="${jboss.bind.address}" protocol="AJP/1.3"

<Connector port="8009" address="0.0.0.0" protocol="AJP/1.3"
#启动测试jboss
/$boss/bin/run.sh
#打开IE测试
http://10.13.42.165:8080

4.安装(jk) tomcat-connectors-1.2.28-src.tar.gz
tar -zxvf tomcat-connectors-1.2.28-src.tar.gz
cd tomcat-connectors-1.2.28-src/native/
#编译安装
./configure --with-apxs=/usr/local/apache2/bin/apxs --with-java-home=/usr/local/jdk --with-java-platform=2 --enable-jni
#验证是否成功
echo $?                           #0表示成功
make
echo $?
cp -a apache-2.0/mod_jk.so /usr/local/apache2/modules/
cd /usr/local/apache2/modules/
chmod 755 mod_jk.so

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
安装tomcat-connectors-1.2.28-src.tar.gz(就是JK1.2.28):
# tar xzvf tomcat-connectors-1.2.28-src.tar.gz
# cd tomcat-connectors-1.2.28-src/jk/native
# ./configure --enable-jni --enable-EAPI --with-apxs=/usr/sbin/apxs
# make
# cp ./apache-2.0/mod_jk.so /etc/httpd/modules/
做到这步若碰到没有apxs目录的问题:如果是自行安装apache的话,只要找到apxs目录然后编译即可,但是CentOS自带安装是没有这个文件的!怎么办呢……找出安装盘,将httpd-devel包装

上吧,安装httpd-devel时会有依赖关系,照提示安装所有包即可。当然,用yum按装也可以。(话说apxs乃是是php需要的东西)
JDK也会给你带来一些麻烦,所以最好还是单独安装JDK比较好,系统自带的总归有点问题……
软件安装完毕,接下来就是烦人的配置了

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


5.配置整合
1.修改$apache/conf/httpd.conf     在文件末尾添加:    Include conf/mod_jk.conf
2.在$apache\conf下新建文件     mod_jk.conf         文件内容如下:
在/etc/httpd/conf/下面建立两个配置文件mod_jk.conf和workers.properties。
生成配置文件 mod_jk.conf
# vi mod_jk.conf
添加如下内容:
##
# Load mod_jk module
# Specify the filename of the mod_jk lib
LoadModule jk_module modules/mod_jk.so
# Where to find workers2.properties
JkWorkersFile conf/workers.properties
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
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 /* worker1
#
##

生成配置文件 workers.properties
# vi 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

配置到此结束。
启动JBOSS:
#cd /usr/local/jboss/bin/         (我的JBOSS是放在user/local/目录下的)
#chmod 755 run.sh               (解压出来的run是没有运行权限的,需要手动授权)
#chmod 755 shutdown.sh      (为shutdown授权,除非你不想关了)
#./run.sh -Djboss.bind.address=10.13.42.165 &     (让JBOSS以指定IP发布,否则只能在本地访问,如果修改了上面的jboss.bind.address->0.0.0.0,则不带任何参数, 直接./run)

重启apache:
#service httpd restart            (祈祷正常重启吧)


http://10.13.42.165   这个时候你看到的是JBOSS的页面而不是it'swork

一点心得:
如果只是想做整合功能,做到这里就足够了,千万别去钻研JBOSS集群的东西,那玩意是个大坑,跳下去会死得很难看……
如果你能把英文当中文看,那么建议去JBOSS官方网站去查阅文档资料,那可是十分详细的好东东啊。

关于JBOSS和apache的其他功能,在下会另开篇幅探讨,在此不再赘述。

 

主要参考网站:
jdk+mysql+jboss+apache安装、配置和整合:http://hi.baidu.com/ruan201314/blog/item/05dd6645c0ee442ccffca309.html
UsingMod_jk1.2WithJBoss:http://community.jboss.org/wiki/UsingModjk12WithJBoss
http://zpanda.blog.163.com/blog/static/104046022009112455751391/?fromdm&fromSearch&isFromSearchEngine=yes