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集群。
最新评论