starxzj 发表于 2018-11-26 13:40:38

整合apache和JBoss,配置虚拟主机

大致步骤:

一、安装apache

二、安装JDK,作为JBOSS的运行环境

三、安装JBOSS

四、安装及配置mod_jk,用以apache和JBOSS之间的通信

五、配置虚拟主机,把动态资源交给JBOSS处理



安装apache:

1、 安装:yum

2、 配置:自行配置!对于虚拟主机,后面会提到。



安装JDK:

1、 安装:

如果JBOSS的版本比较低,要注意JDK版本的匹配;对于新版本的JBOSS,JDK 1.6版本一般都可以:


[*]chmod 744 jdk-6u24-linux-i586.bin
[*]./ jdk-6u24-linux-i586.bin

2、 设置JDK的环境变量:

vi /etc/profile,在文件末尾添加环境变量,详细设置参考:http://share.blog.51cto.com/278008/498313

Linux里可以设置环境变量的文件有好几个,这里总结一下:


[*]/etc/profile
[*]/etc/bashrc
[*]~/.bash_profile
[*]~/.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:



[*]LoadModule jk_module modules/mod_jk.so
[*]JkWorkersFile conf.d/workers.properties
[*]JkLogFile logs/mod_jk.log
[*]JkLogLevelinfo
[*]JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

vi workers.properties:



[*]#Define worker list
[*]worker.list=apps
[*]
[*]#Set properties for worker1 (jboss/tomcat)
[*]worker.jboss.type=ajp13
[*]worker.jboss.host=localhost
[*]worker. jboss.port=8009
[*]worker.jboss.lbfactor=1
[*]worker.jboss.socket_timeout=300
[*]worker.jboss.socket_keepalive=true
[*]
[*]#Set properties for worker2 (jboss/tomcat)
[*]# worker.jboss2.type=ajp13
[*]#worker.jboss2.host=10.10.19.59
[*]#worker. jboss2.port=8009
[*]#worker.jboss2.lbfactor=1
[*]#worker.jboss2.socket_timeout=300
[*]#worker.jboss2.socket_keepalive=true
[*]
[*]#Set loadbalance properties
[*]worker.apps.type=lb
[*]#worker.apps.balance_workers=jboss,jboss2
[*]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,注释掉下面一行,如未找到该行,则手动添加:



[*]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;

最后,如果每个虚拟主机想要单独进行访问限制,则注释掉...

注:如果不是做虚拟主机,而仅仅是整合apache和jboss,则还需要添加默认首页:DirectoryIndex index.html index.htm index.jsp

2、编辑虚拟主机的配置文件:

   apache有一个自带的关于虚拟主机配置的样本文件,一般为conf/extra/httpd-vhosts.conf,但是我在自己的系统中没有找到,就从网上下载了一个标准文件放到了conf.d目录下,然后做相应的修改。

我的是基于域名的虚拟主机,两个网站,其中一个需要jboss做应用服务器,配置如下:



[*]NameVirtualHost *:80
[*]
[*]
[*]   DocumentRoot /var/www/bao_web
[*]   ServerName www.bao.hdtmedia.com
[*]
[*]
[*]
[*] DocumentRoot /var/www/html
[*] ServerName wap.imocha.cn
[*] ErrorLog /etc/httpd/logs/imocha_err_log
[*]
[*]   Options Indexes FollowSymLinks
[*]   AllowOverride None
[*]   Order allow,deny
[*]   Allow from all
[*]
[*] JkMount /* apps
[*]



页: [1]
查看完整版本: 整合apache和JBoss,配置虚拟主机