开发者社区> 科技探索者> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

部署Jboss5拒绝直接使用ip方式访问

简介:
+关注继续查看

需求:
近期要用java开发的用户中心替换旧的用户中心,程序开发和测试使用的环境是tomcat6,计划部署到线上环境的时候使用jboss,主要考虑jboss支持热部署的原因要求是当用户使用ip访问的时候提示403权限拒绝(这变态的要求主要是机房管理的因素,主要针对的是80端口),使用域名访问的时候显示正常的应用

环境介绍:
操作系统:redhat enterprise linux 5.4 64位
系统ip:192.168.50.7/24
apache + mod_jk + jboss
apache版本:2.2.16
mod_jk版本:1.2.31
jboss版本:jboss5.1 GA
备注:之前考虑过在jboss上直接使用虚拟主机的方式实现,但使用ip和域名访问的时候都会出现404,且没有日志信息;考虑到jboss容器上只有部署一个用户中心的应用,
因而就放弃了使用jboss虚拟主机方式实现,将来如果有其他的java应用需要部署,可以考虑在一台服务器上部署多个jboss,监听不同的端口即可


  1. 1:编译安装apache2.2.16  
  2. wget http://archive.apache.org/dist/httpd/httpd-2.2.16.tar.gz -P /usr/local/src/tarbag  
  3. tar -zxvf /usr/local/src/tarbag/httpd-2.2.16.tar.gz -C /usr/local/src/software  
  4. cd /usr/local/src/software/httpd-2.2.16 &  
  5. ./configure --prefix=/usr/local/apache2.2.16 --enable-so --enable-rewrite --enable-headers --with-mpm=worker --enable-expires --enable-mods-shared=all   
  6. make && make install  
  7.  
  8. 2:下载安装jboss,boss需要java支持
  9. java的下载地址可以在java.com上找到 
  10. chmod u+x jdk-6u17-linux-i586.bin  
  11. ./jdk-6u17-linux-i586.bin    
  12. mv jdk1.6.0_17 /usr/local/java   
  13.  
  14. vi /etc/profile  添加如下内容到文件末尾  
  15. export JAVA_HOME=/usr/local/java  
  16. CLASSPATH=/usr/local/java/lib/dt.jar:/usr/local/java/lib/tools.jar  
  17. PATH=/usr/local/java/bin:$PATH  
  18. export PATH JAVA_HOME CLASSPATH  
  19.  
  20. source  /etc/profile  
  21. wget http://nchc.dl.sourceforge.net/project/jboss/JBoss/JBoss-5.1.0.GA/jboss-5.1.0.GA.zip  
  22. unzip jboss-5.1.0.GA.zip -d /usr/local/  
  23. mv /usr/local/jboss-5.1.0.GA /usr/local/jboss5  
  24.  
  25. 删除jmx-console和admin-console等默认的jboss应用(若需要此类应用,也可以留着)  
  26. cd /usr/local/jboss5/server/default/deploy  
  27. mkdir /bak/laji  
  28. mv admin-console.war jbossws.sar jmx-console.war jmx-remoting.sar management messaging  /bak/laji  
  29. cp -rvp ROOT.war /bak/laji  
  30. rm -rf ROOT.war/*  
  31.  
  32. 修改jboss主配置文件相关内容如下  
  33.  
  34. <Service name="jboss.web"> 
  35.       <!-- A HTTP/1.1 Connector on port 8080 --> 
  36.        <Connector port="8080" address="0.0.0.0" 
  37.          maxThreads="2500" strategy="ms" maxHttpHeaderSize="8192" 
  38.          emptySessionPath="true" 
  39.          enableLookups="true" redirectPort="8443" acceptCount="100" 
  40.          connectionTimeout="20000" disableUploadTimeout="true" compression="on" 
  41.          compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 
  42.          useIPVHosts="true" 
  43.          /> 
  44.            
  45. 启动jboss:/usr/local/jboss5/bin/run.sh -c default &   
  46. (也可以使用nohup方式来启动,或者等jboss在后台启动完毕后输入exit退出终端,然后重新登录服务器)  
  47. 关闭jboss: /usr/local/jboss5/bin/shutdown.sh -S  
  48.            
  49. 3:配置mod_jk和apache  
  50.  
  51. cd /usr/local/src/tarbag/  
  52. wget http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.31/x86_64/mod_jk-1.2.31-httpd-2.2.x.so  
  53. cp mod_jk-1.2.31-httpd-2.2.x.so /usr/local/apache2.2.16/modules/mod_jk.so  
  54.  
  55. 在apache主配置文件中添加如下内容  
  56. grep 'jk' /usr/local/apache2.2.16/conf/httpd.conf  
  57. Include conf/extra/mod_jk.conf  
  58.  
  59. 新增mod_jk.conf配置文件内容如下:  
  60. cat /usr/local/apache2.2.16/conf/extra/mod_jk.conf  
  61. LoadModule jk_module modules/mod_jk.so        //加载mod_jk模块  
  62. JkWorkersFile conf/extra/workers.properties   //该文件用于控制请求转发jboss的端口   
  63. JkLogFile logs/mod_jk.log                     //mod_jk的日志  
  64. JkLogLevel info                               //日志级别为info  
  65. JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"     //日志时间戳格式  
  66. JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories  
  67. JkRequestLogFormat "%w %V %T"                 //日志请求格式  
  68. JkMount /* cas                                  
  69. #JkMountFile conf/extra/uriworkermap.properties    
  70. JkShmFile logs/jk.shm                             
  71. # Add jkstatus for managing runtime data      
  72.  
  73. <Location /jkstatus/> 
  74. JkMount status  
  75. Order deny,allow  
  76. Deny from all  
  77. Allow from 192.168.50.8   
  78. Allow from 127.0.0.1  
  79. </Location> 
  80.  
  81. cat /usr/local/apache2.2.16/conf/extra/workers.properties   
  82. worker.list=cas 
  83. # Define cas  
  84. worker.cas.port=8009 
  85. worker.cas.host=127.0.0.1  
  86. worker.cas.type=ajp13 
  87. worker.cas.cachesize=10 
  88.  
  89. worker.XXX.port 对应的是jboss应用的ajp端口,  
  90. worker.XXX.host主机IP地址   
  91. 这里注意一点 worker.list的列表项中出现的内容,一定要在mod_jk.conf里对应增加 JkMount /* XXX,否则apache是无法启动  
  92.  
  93. 配置apache虚拟主机如下  
  94. grep -v '^#' /usr/local/apache2.2.16/conf/extra/httpd-vhosts.conf  |grep -v '^$'  
  95. NameVirtualHost 192.168.50.7:80  
  96. <VirtualHost 192.168.50.7:80> 
  97.   ServerName 192.168.50.7  
  98.   <Location /> 
  99.   Order deny,allow  
  100.   Deny from all  
  101.   </Location> 
  102. </VirtualHost> 
  103. <VirtualHost 192.168.50.7:80> 
  104.   ServerName jboss.766.com   
  105.   CustomLog "|/usr/local/apache2.2.16/bin/rotatelogs /usr/local/apache2.2.16/logs/jboss_log_%Y%m%d 86400 480" combined  
  106.   Errorlog  "logs/jboss-error.log"  
  107.   RewriteEngine on  
  108.   JkMount /* cas  
  109. </VirtualHost> 
  110.  
  111. /usr/local/apache2.2.16/bin/apachectl -k restart  
  112.  
  113. 测试:  
  114. tail -f /usr/local/apache2.2.16/logs/access_log   
  115. 192.168.50.8 - - [06/May/2011:13:45:28 +0800] "GET / HTTP/1.1" 403 202  
  116.  

  117.  
  118.  
  119.  

     

  120.  
  121. tail -f /usr/local/jboss5/server/default/log/localhost_access_log.2011-05-06.log   
  122. 192.168.50.8 - - [06/May/2011:15:17:28 +0800] "GET / HTTP/1.1" 200 37 

 本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/560598如需转载请自行联系原作者


ylw6006

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(上)
【小家Java】Lombok的使用详解(最详尽的解释,覆盖讲解所有可用注解),解决@Builder.Default默认值问题(上)
32 0
jboss初体验
jboss初体验
30 0
从一无所知到5分钟快速了解HBase
从一无所知到5分钟快速了解HBase
39 0
Jibx插件的使用
Jibx是一款非常优秀的XML文件数据绑定的框架,提供灵活的绑定映射文件,实现数据对象和XML文件之间的转换,并不需要修改既有的Java,另外,它的转换效率是目前很多其他开源项目都无法比拟的。本文来演示下如何使用
66 0
ABAP单元帮助类的两种使用方式
ABAP单元帮助类的两种使用方式
38 0
SpringBoot整合Logback日志框架+Slf4j注解使用
SpringBoot整合Logback日志框架+Slf4j注解使用
159 0
外网访问内网Jboss
本地安装了一个Jboss,只能在局域网内访问,怎样从外网也能访问到本地的Jboss呢?本文将介绍具体的实现步骤。 1. 准备工作 1.1 安装并启动Jboss 默认安装的Jboss端口是8080。
865 0
Jboss通过文件系统部署
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/70216887 用户可以将部署内容(war、ear、jar、sar等)放在standalone/deployments目录内,会自动部署到服务器运行时。
795 0
jboss
http://sourceforge.net/projects/jboss/
640 0
5487
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载