论坛风格切换切换到宽版
  • 4149阅读
  • 0回复

jboss与apache集成共用80端口 实现多域名多应用 [复制链接]

上一主题 下一主题
离线yycadmin
 

发帖
1995
铜币
22151
威望
509
只看楼主 倒序阅读 使用道具 楼主  发表于: 2012-05-09
        前两篇介绍了jboss5.1的端口配置及注册实例服务与JVM内存配置,可以往前翻一翻,路过的请留痕,内裤什么的都可以。

        apache 是一个很好的http服务器,具体能做些什么大家都懂的;这里假设大已经安装好了apache及Jboss,这类的配置也一在把,这里给出的案例全部是自己实现过。

        这里引用自己在使用的两个域名,给大家参考:www.narkaihui.com  3dshow.narkaihui.com ,这两个域名在jboss下对应的是两个不同的应用,大家可以用IP去验证 http://219.136.252.103:8480/ ,http://219.136.252.103:8580/  有可能大家到的是同一个网站,但是两个不同的端口。

        APACHE_HOME 表示apache路径,JBOSS_HOME 表示jboss路径。

   1. 配置与apache集成

   下载mod_jk-1.2.28-httpd-2.2.3.so,将mod_jk-1.2.28-httpd-2.2.3.so改名为mod_jk.so,并复制到APACHE_HOME/modules/.目录里。  

a)      修改APACHE_HOME/conf/httpd.conf 在文件尾追加如下代码:

# Include mod_jk's specific configuration file

Include conf/mod_jk.conf

  

a)      在APACHE_HOME/conf/.目录里创建mod_jk.conf 配置文件,内容如下:

LoadModule jk_module modules/mod_jk.so

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"

JkMount /* loadshow
       JkMount /* loadnarkaihui

JkMountFile conf/uriworkermap.properties

JkShmFile logs/jk.shm

# Add jkstatus for managing runtime data

<Location /jkstatus/>

JkMount status

Order deny,allow

Deny from all

Allow from 127.0.0.1

</Location>  

JkMount /* loadshow 这个地方是需要注意的,意思是把所有的请求都发给loadshow处理。可以通过修改url来控制发送某些request。

   a)      在APACHE_HOME/conf/.目录里创建workers.properties 配置文件 其内容如下:
           worker.list=loadshow,loadnarkaihui
           # Define 3dshow
          worker.loadshow.port=8409
          worker.loadshow.host=219.136.252.103
          worker.loadshow.type=ajp13
          worker.loadshow.cachesize=10
          # Define narkaihui
          worker.loadnarkaihui.port=8509
          worker.loadnarkaihui.host=219.136.252.103
          worker.loadnarkaihui.type=ajp13
          worker.loadnarkaihui.cachesize=10

worker.XXX.port 对应的是jboss应用的ajp端口,端口配置可以参见第一篇文章; worker.XXX.host主机IP地,因为是同一台机器所以IP是一样的;这里注意一点 worker.list的列表项如果出现在下面的定义里,一定要在mod_jk.conf里对应增加 JkMount /* XXX,否则apache是无法启动。

OK这里的集成已经完成,假设你已经启动Jboss5的两个应用ajp端口在8409 8509,使用IP访问你可以试一下。



     2. 配置域名

   2.1. 需要修改httpd.conf 配置文件

a)         把#Include conf/extra/httpd-vhosts.conf前面的#去掉

b)        将 ServerName *:80 注释掉

c)         将 DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" 注释掉

<Directory />

    Options FollowSymLinks

    AllowOverride None

    Order deny,allow

    Deny from all

</Directory>

每个虚拟主机对于访问限制可以单独配置,当然也是在httpd-vhosts.conf配置。

2.2.修改在httpd-vhosts.conf配置文件

第一处:修改为你的IP
NameVirtualHost 219.136.252.103:80

第二处:增加

<VirtualHost 219.136.252.103:80>
    ServerName *
    <Location />
    Order deny,allow
    Deny from all
    </Location>
</VirtualHost>

<VirtualHost www.narkaihui.com>
    ServerName www.narkaihui.com      
    ErrorLog "logs/narkaihui-error.log"
    RewriteEngine on
    JkMount  /*  loadnarkaihui
</VirtualHost>

<VirtualHost 3dshow.narkaihui.com>    
    ServerName 3dshow.narkaihui.com      
    ErrorLog "logs/jboss-show3d-error.log"
    RewriteEngine on
    JkMount  /*  loadshow
</VirtualHost>

注意JkMount  /* XXX 为JK挂接,必须与前面集成的配置(mod_jk.conf)里的JkMount /* XXX 对应。

OK本节完结,下节写写apache与jboss集群。
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个