`

Apache HTTPServer与JBoss/Tomcat的整合与请求分发

阅读更多

Apache HTTPServer与JBoss/Tomcat的整合与请求分发

如果需要一台服务器来做转发请求的话,用 apache的HttpServer再好不过了。

假如一个客户请求服务器A,A并不直接处理客户端的请求,而是把请求转发到
服务器B。

来看一个具体怎么操作吧。

首先先下载一个apache-httpserver,这里用的是apache_2.2.3-win32-x86-no_ssl.msi,你可以在此
http://apache.mirror.phpchina.com/httpd/ 进行下载。或此看此文最后的附件也可。

安装就不用说了吧,安装完毕后。有时候启动服务会失败,我的第一次就失败了。端口被占用。
这时我们:

首先用netstat -ano 看是得到占用80端口的进程的PID,然后打开任务管理器,选择->查看->选择列,勾上PID(进程标识符),结束这个进程,再启动Apache就成功了.
可以在浏览器输入:http://localhost 出现 'it works' 说明就ok了.

服务启动成功后去下载:mod_jk-apache-2.2.3.so,本文附件中会提供。


1.进入apache的安装目录。找到modules把下载好的mod_jk-apache-2.2.3.so复制进去。
2.在conf目录建立一个workers.properties文件,内容如下:

# Define 1 real worker using ajp13
worker.list
=admin
#
Set properties for admin (ajp13)
worker.admin.type
=ajp13
worker.admin.host
=127.0.0.1
worker.admin.port
=8009
worker.admin.lbfactor
=50
#worker.admin.cachesize
=10
# worker.admin.cache_timeout
=600
worker.admin.socket_keepalive
=1
# worker.admin.recycle_timeout
=300


其中host就是你要转发到的服务器IP,port是端口号。这里是用本机测试,所以只改端口号就行了。

3.打开conf目录下的httpd.conf文件,找到#LoadModule ssl_module modules/mod_ssl.so这一行。在
这一行下面加上:

# 加载 mod_jk 模块
LoadModule jk_module modules
/mod_jk-apache-2.2.3.so

# 指定 mod_jk 模块所需的配置文件 workers.properties 的位置
JkWorkersFile conf
/workers.properties

# 指定 mod_jk 模块的日志文件位置
JkLogFile logs
/mod_jk.log

# 指定 mod_jk 模块的日志级别
JkLogLevel info

# 指定 mod_jk 模块的日志格式
JkLogStampFormat "
[%a %b %d %H:%M:%S %Y]

# 发送所有请求上下文的请求给 admin
JkMount
/* admin

最后一个的admin就是第二步中的worker.list

<Service name="jboss.web">

    
<!-- A "Connector" represents an endpoint by which requests are received
          and responses are returned. Documentation at :
          Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
          Java AJP   Connector: /docs/config/ajp.html
          APR (HTTP/AJP) Connector: /docs/apr.html
          Define a non-SSL HTTP/1.1 Connector on port 8080
-->
  
    
<Connector port="8080" address="${jboss.bind.address}"    
          maxThreads
="250" maxHttpHeaderSize="8192"
          emptySessionPath
="true" protocol="HTTP/1.1"
          enableLookups
="false" redirectPort="8443" acceptCount="100"
          connectionTimeout
="20000" disableUploadTimeout="true" />  

    
<!-- Define a SSL HTTP/1.1 Connector on port 8443
          This connector uses the JSSE configuration, when using APR, the
          connector should be using the OpenSSL style configuration
          described in the APR documentation
-->
    
<!--
     <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
                maxThreads="150" scheme="https" secure="true"
                clientAuth="false" sslProtocol="TLS" />
    
-->

    
<!-- Define an AJP 1.3 Connector on port 8009 -->
    
<Connector port="8009" address="${jboss.bind.address}" protocol="AJP/1.3"
          emptySessionPath
="true" enableLookups="false" redirectPort="8443" />

      
<Engine name="jboss.web" defaultHost="localhost" >

         
<!-- The JAAS based authentication and authorization realm implementation
          that is compatible with the jboss 3.2.x realm implementation.
          - certificatePrincipal : the class name of the
          org.jboss.security.auth.certs.CertificatePrincipal impl
          used for mapping X509[] cert chains to a Princpal.
          - allRolesMode : how to handle an auth-constraint with a role-name=*,
          one of strict, authOnly, strictAuthOnly
            + strict = Use the strict servlet spec interpretation which requires
            that the user have one of the web-app/security-role/role-name
            + authOnly = Allow any authenticated user
            + strictAuthOnly = Allow any authenticated user only if there are no
            web-app/security-roles
         
-->

tomcat:
tomcat/conf/server.xml:

<!-- Define an AJP 1.3 Connector on port 8009 -->
    
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />


其中关于AJP的配置是一样的,这里可以更改你需要的端口,当然上面的apache也需要同时更改。

最后打浏览器测试一下吧:
http://localhost

显示的其实就是http://127.0.0.1:8009 ,如果你JBoss/Tomat下部署有测试工程。看一下吧。已经出现了。

好的,操作成功了。说明已经转发成功。

相关附件下载



好了apache的配置都搞定了,重启一下ok.

我们再来看一下jboss的配置:

找到:
jboss-4.2.3.GA\server\default\deploy\jboss-web.deployer\server.xml

看看最上面的一段配置就行了:
分享到:
评论

相关推荐

    Apache+Jboss(Tomcat)集群配置

    1. **结构介绍**:这种集群架构的核心是前端的Apache服务器,它作为反向代理和负载均衡器,接收来自客户端的请求,并根据预设策略分发到后端的Jboss或Tomcat服务器。每个Jboss或Tomcat服务器都运行着相同的应用,...

    webServer / Apache / apache / apache http server / mod_cluster

    为了提高系统的可扩展性和可靠性,通常会使用负载均衡技术,而mod_cluster就是这样的工具,它可以与Java应用服务器(如JBoss AS或WildFly)配合工作,自动发现和管理应用服务器实例,透明地将HTTP请求分发到这些...

    apache 集成 jboss、tomcat

    Apache集成JBoss或Tomcat是将这两种流行的Java应用服务器与Apache HTTP服务器相结合的过程,以便更好地管理和部署Web应用程序。Apache作为前端服务器处理静态内容,而动态内容由JBoss或Tomcat处理。这种架构提供了更...

    tomcat apache jboss集群分布

    2. **Apache HTTP Server**:通常简称为Apache,是世界上最流行的HTTP服务器软件,它能够处理静态内容和动态内容,通过与Tomcat等Servlet容器配合,可以运行Java Web应用。 3. **JBoss**:原名JBoss AS,现在称为...

    jboss集群部署详细资源

    集群的关键部分是Apache与JBoss之间的连接器,通常使用Apache Tomcat Connectors(mod_jk)实现AJP协议通信: 4. **Apache Tomcat Connectors安装**:解压缩`Apache-tomcat-connectors-1.2.28-src.tar.gz`,按照...

    Apache Tomcat

    Tomcat虽然功能相对有限,但可以与其他服务器(如Apache HTTP Server)进行集成,以实现更高的性能和功能。例如,通过Apache HTTP Server的mod_jk或mod_proxy模块,可以将静态内容处理交给Apache,动态内容则由...

    Apache Tomcat 6高级编程 源代码

    - 如何与Apache HTTP Server或其他应用服务器(如JBoss、WebLogic)进行整合,实现更强大的功能。 12. **JMX监控** - 利用JMX工具(如VisualVM或JConsole)监控Tomcat的运行状态,包括内存使用、线程状态等。 13...

    apache-tomcat-8.5.31.tar.gz

    Apache Tomcat 是一款广泛应用的开源Web服务器和Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范,使得开发者可以使用Java语言构建动态Web应用。在这个特定的版本"apache-tomcat-8.5.31.tar.gz"中...

    JBoss 负载均衡

    这个模块实现了Apache与Tomcat或者JBoss之间的通信协议(通常称为JK或Apache JServ Protocol)。当配置正确时,mod_jk可以将HTTP请求转发到JBoss集群中的适当节点,实现负载均衡。 以下是使用Apache HTTP Server和...

    apache-tomcat-8.0.48linux解压版

    Tomcat与Java EE中的Java Application Server(如Glassfish、JBoss等)不同,它不是一个完整的应用服务器,但可以配合其他组件(如MySQL、PostgreSQL等数据库)来实现完整的企业级应用部署。 Apache Tomcat 8.0.48...

    apache-tomcat-7.0.64.rar

    Apache Tomcat是一个非常知名的开源Java Servlet容器,它实现了Java EE Web应用程序规范,特别是Servlet和JavaServer Pages(JSP)。在给定的“apache-tomcat-7.0.64.rar”压缩包中,我们拥有Tomcat 7.0.64版本的...

    apachetomcat最新版

    Apache Tomcat是一款开源的Java Servlet容器,主要用于部署和运行Java Web应用程序,包括JSP(JavaServer Pages)和Servlet。作为标题所示的“apachetomcat最新版”,它提供了最新的特性,安全补丁和性能优化,是...

    tomcat的面试专题

    Tomcat是由Apache软件基金会开发的Java Servlet和JavaServer Pages(JSP)容器,它是Apache Jakarta项目的一部分。Tomcat支持Java EE的部分规范,如Servlet和JSP,但不包括完整的Java EE平台。 2. **Tomcat架构** ...

    apache-tomcat-8.0.1.zip

    Tomcat由Apache软件基金会的Apache Jakarta项目开发,遵循Apache License 2.0协议,这意味着它是完全免费且开源的,用户可以自由地下载、使用、修改和分发。 Tomcat 8.0.1 版本是该系列的一个重要版本,它提供了...

    apache-tomcat

    描述虽然简单,但我们可以推测出讨论的内容将围绕Apache Tomcat的基础知识展开,如它如何作为Servlet和JSP的运行平台,以及它与其他Java应用服务器(如JBoss、WebLogic或WebSphere)的对比。 标签“apache”进一步...

    Tomcat(一) Tomcat是什么:Tomcat与Java技术 Tomcat与Web应用 以及 Tomcat基本框架及相关配

    Tomcat由Apache Software Foundation开发,是市场上最受欢迎的Java Web应用服务器之一,与Jetty、Resin、WebSphere、WebLogic、JBoss、Glassfish、Geronimo等其他服务器相比,其市场份额较高。 Tomcat与Java技术的...

    apache-tomcat-7.0.55-windows-x64.zip

    5. **可扩展性**:尽管Tomcat本身功能有限,但可以通过与其他开源项目(如Apache HTTP Server、mod_jk等)集成,提高性能和功能。 在下载并解压"apache-tomcat-7.0.55-windows-x64.zip"后,你将得到一个包含以下...

    Tomcat学习

    Tomcat是一款开源的、基于Java Servlet和JavaServer Pages(JSP)技术的Web应用服务器,由Apache软件基金会的Jakarta项目维护。它是Java EE(现称为Jakarta EE)标准的重要组成部分,主要用于部署和运行Java Web应用...

    Apache-tomcat-9.0.10(Windows32位)

    7. **扩展性**:Tomcat可以与Apache HTTP Server集成,通过mod_proxy_ajp模块实现更高效的负载均衡和反向代理。 8. **社区支持**:由于其开源性质,Tomcat拥有活跃的社区,开发者可以在遇到问题时获得及时的帮助和...

Global site tag (gtag.js) - Google Analytics