大致步骤:
一、安装apache
二、安装JDK,作为JBOSS的运行环境
三、安装JBOSS
四、安装及配置mod_jk,用以apache和JBOSS之间的通信
五、配置虚拟主机,把动态资源交给JBOSS处理
 
安装apache:
1、 安装:yum
2、 配置:自行配置!对于虚拟主机,后面会提到。
 
安装JDK:
1、 安装:
如果JBOSS的版本比较低,要注意JDK版本的匹配;对于新版本的JBOSS,JDK 1.6版本一般都可以:  
  1. chmod 744 jdk-6u24-linux-i586.bin 
  2. ./ jdk-6u24-linux-i586.bin 
2、 设置JDK的环境变量:
vi /etc/profile,在文件末尾添加环境变量,详细设置参考:http://share.blog.51cto.com/278008/498313 
Linux里可以设置环境变量的文件有好几个,这里总结一下:
  1. /etc/profile 
  2. /etc/bashrc 
  3. ~/.bash_profile 
  4. ~/.bashrc 
这几个文件的执行顺序为:/etc/profile--->/etc/bashrc--->~/.bash_profile--->~/.bashrc 

 /etc/profile:设置全局变量,对所有用户(即使该用户未登陆shell)都有效
 /etc/bashrc:设置全局变量,对所有登陆shell的用户有效。shell的history时间设置等,都在这里
  ~/.bash_profile:设置用户的shell信息
  ~/.bashrc:设置用户的shell信息,每当用户登陆或打开新的shell时,该文件被读取

安装JBOSS:
  1、 关于JBOSS的版本及其后缀:打开JBOSS的下载页面,会发现JBOSS除了版本众多外,相同的主版本号还有不同的后缀,比如SP、CR、Beta、Alpha、M、Final、GA等等,我们所部署的JBOSS,应该是Final、GA或没有后缀的版本
  2、 安装:详细步骤参考:http://share.blog.51cto.com/278008/498313 
 
安装mod_jk:
1、 关于jk版本的选择:
  首先,我们应该选择的是jk而不是jk2;
  其次,jk版本还要跟apache版本保持匹配,如,我的apache是2.2版本,那么jk版本就应该是mod_jk-1.2.31-httpd-2.2.x.so,而不是mod_jk-1.2.31-httpd-2.0.x.so
2、 下载地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/
3、 安装配置:
  一、安装:把下载到的mod_jk-1.2.31-httpd-2.2.x.so文件复制到apache安装目录的modules目录下即可。我的目录:/etc/httpd/modules。 
  二、配置:主要是建两个文件,mod_jk.conf和workers.properties!
  两个文件的作用:
  mod_jk.conf,用于配置mod_jk的信息,指定workers.properties文件位置,配置jk日志位置、格式等;
  workers.properties,用来配置应用服务器(tomcat、jboss等)的信息,如jboss的连接地址,端口等;若想做负载均衡,也是在此文件中进行定义各个worker节点的信息; 
vi mod_jk.conf:
  1. LoadModule jk_module modules/mod_jk.so 
  2. JkWorkersFile conf.d/workers.properties 
  3. JkLogFile logs/mod_jk.log 
  4. JkLogLevel  info 
  5. JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " 
vi workers.properties:
  1. #Define worker list 
  2. worker.list=apps 
  3.   
  4. #Set properties for worker1 (jboss/tomcat) 
  5. worker.jboss.type=ajp13 
  6. worker.jboss.host=localhost 
  7. worker. jboss.port=8009 
  8. worker.jboss.lbfactor=1 
  9. worker.jboss.socket_timeout=300 
  10. worker.jboss.socket_keepalive=true 
  11.   
  12. #Set properties for worker2 (jboss/tomcat) 
  13. worker.jboss2.type=ajp13 
  14. #worker.jboss2.host=10.10.19.59 
  15. #worker. jboss2.port=8009 
  16. #worker.jboss2.lbfactor=1 
  17. #worker.jboss2.socket_timeout=300 
  18. #worker.jboss2.socket_keepalive=true 
  19.   
  20. #Set loadbalance properties 
  21. worker.apps.type=lb 
  22. #worker.apps.balance_workers=jboss,jboss2 
  23. worker.apps.balance_workers=jboss 
注:关于mod_jk.conf和workers.properties文件的各个详细参数,参考官方文档http://tomcat.apache.org/connectors-doc;
文档特别指出,cache_size、cache_timeout、balanced_workers等参数已经弃用。 
 
编辑好了两个文件后, apache如何加载它们呢?
首先,确保apache会自动加载conf.d目录下的配置文件:
vi httpd.conf,注释掉下面一行,如未找到该行,则手动添加:
  1. Include conf.d/*.conf 
然后,把配置文件放到ServerRoot下的conf.d中,apache就会自动加载了。
 
配置虚拟主机:
尽量不要把虚拟主机的配置直接写到httpd.conf文件中,最好像配置mod_jk那样,把虚拟主机的配置写到一个单独的文件里,放到conf.d目录下,让apache去加载它,这其实是apache配置的模块化。
1、编辑httpd.conf配置文件,确保虚拟主机能正常运行:
  首先,确保apache会加载conf.d目录下的配置文件(前面已经做过配置);
  其次,注释掉原有的DocumentRoot配置,因为每个虚拟主机都有自己的DocumentRoot;
  然后,注释掉原有的ServerName配置,每个虚拟主机都有自己的ServerName;
  最后,如果每个虚拟主机想要单独进行访问限制,则注释掉<Directory />...</Directory> 
  注:如果不是做虚拟主机,而仅仅是整合apache和jboss,则还需要添加默认首页:DirectoryIndex index.html index.htm index.jsp 
2、编辑虚拟主机的配置文件:
   apache有一个自带的关于虚拟主机配置的样本文件,一般为conf/extra/httpd-vhosts.conf,但是我在自己的系统中没有找到,就从网上下载了一个标准文件放到了conf.d目录下,然后做相应的修改。
我的是基于域名的虚拟主机,两个网站,其中一个需要jboss做应用服务器,配置如下:
  1. NameVirtualHost *:80 
  2.  
  3. <VirtualHost *:80> 
  4.    DocumentRoot /var/www/bao_web 
  5.    ServerName www.bao.hdtmedia.com 
  6. </VirtualHost> 
  7.   
  8. <VirtualHost *:80> 
  9.  DocumentRoot /var/www/html 
  10.  ServerName wap.imocha.cn 
  11.  ErrorLog /etc/httpd/logs/imocha_err_log 
  12.  <Directory "/var/www/html"> 
  13.    Options Indexes FollowSymLinks 
  14.    AllowOverride None 
  15.    Order allow,deny 
  16.    Allow from all 
  17. </Directory> 
  18.  JkMount /* apps 
  19. </VirtualHost>