`
baobeituping
  • 浏览: 1068264 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Apache+Resin做负载均衡 [windows 2003]

阅读更多

Apache+Resin做负载均衡 [windows 2003]

Apache2的配置
Apache2.2和resin 3.1,windows平台单机做负载平衡
Apache2.2和resin 3.1,windows平台单机做负载平衡

apache版本:2.2.6(Win32)
resin版本:3.1.3

1.安装apache.我下载的是apache的windows安装包,所以直接运行后,apache会自动被安装成windows服务,这里服务名我定为apache2.2

2.下载resin3.1.3 windows版,解压到硬盘上某个目录中

3.在resin目录下的win32\apache-2.2中有个文件:mod_caucho.dll,记住这个文件的全路径和文件名(e.g.:记在notepad中).比如,在我机器上,要记下的内容为:c:\resin-

3.1.3\win32\apache-2.2\mod_caucho.dll,然后,把路径中的反斜杠改为斜杠,所以,最后,要记录下的内容为:c:/resin-3.1.3/win32/apache-2.2/mod_caucho.dll

4.修改resin的配置文件resin.conf
在resin2中,查看网上的一些资料,发现配置负载平衡是用<srun/>这个配置项,但在resin3中,配置文件已经全面变动,负载平衡改用<server/>
这里以在一台机器上运行4个resin实例为例
a.在resin.conf中找寻内容<!– define the servers in the cluster –>,在这行的下面一行内容是<server id="" address="127.0.0.1" port="6800"/>,这行其实

就说明运行一个resin实例,所以这里我们要改成四个<server/>,如下:
<server id='resin-a' address='127.0.0.1' port='6801' watchdog-port="6601">
<http port="8081"/>
</server>
<server id='resin-b' address='127.0.0.1' port='6802' watchdog-port="6602">
<http port="8082"/>
</server>
<server id='resin-c' address='127.0.0.1' port='6803' watchdog-port="6603">
<http port="8083"/>
</server>
<server id='resin-d' address='127.0.0.1' port='6804' watchdog-port="6604">
<http port="8084"/>
</server>
id标识了不同的server,这里的四个id可以随便改,只要不一样就行
port标识了不同的监听端口,apache会把需要resin处理的http请求转发到此端口(不知道理解得对不对,如果有高人有别的看法,欢迎批评指正),这里的端口也可

以改为别的端口号
watchdog-port是resin watchdog的监听端口,每启动一个resin实例,就会伴随启动一个resin的watchdog,watchdog也需要分配一个端口,watchdog好像是监视

resin服务的,它有自动启动和停止resin服务的功能,他的默认端口为6600,如果不指定这些端口,在日志文件中会看到JVM端口绑定错误,而且指明了是6600端口绑定错误
<http port="端口号"/>,这个指定了每个resin的http侦听端口,也需要指定来进行区分,否则也会出现端口绑定错误
b.查找行<http address="*" port="8080"/>,这里指定了默认的resin监听端口,这里需要把这行注释掉
c.接下来,你可以用<web-app/>按一般方式来配置resin的web应用

例如:

在resin.conf

 <host id="" root-directory=".">
       <web-app id="/struts2" root-directory="D:/workspace/struts2/WebRoot"/>

红色部分是我加入的内容
      <!--
         - configures an explicit root web-app matching the
         - webapp's ROOT
        -->
      <web-app id="/" root-directory="webapps/ROOT"/>

      <web-app id="/resin-admin" root-directory="${resin.home}/php/admin">
        <!--
           - Administration application /resin-admin
          -->
        <prologue>
          <resin:set var="resin_admin_external" value="false"/>
          <resin:set var="resin_admin_insecure" value="true"/>
        </prologue>
      </web-app>
    </host>

 

 

5.修改apache的配置文件httpd.conf
在httpd.conf的最后,加上如下的内容:
LoadModule caucho_module C:/resin-3.1.3/win32/apache-2.2/mod_caucho.dll

找到IfModule 标签,在里面配置跟resin里面一样的服务器转发地址和端口。

<IfModule mod_caucho.c>

 ResinConfigServer 127.0.0.1 6801
  ResinConfigServer 127.0.0.1 6802
  ResinConfigServer 127.0.0.1 6803
  ResinConfigServer 127.0.0.1 6804
  CauchoStatus yes
</IfModule>
可以看到,第3步中记录的内容就是放在这个地方的。

 

这里假设你在resin.conf中也配置了web-app目录的web应用
这样,当你访问http://localhost/web-app时,一些不需要由resin处理的内容,如静态页面,jpg等,则由apache处理,而像jsp文件,则apache会交给resin处理.

6.把resin安装成windows服务
这里把resin安装成四个服务
进入windows的命令行,进行resin目录,执行如下命令:

httpd -install resin-a (移除服务httpd -remove resin-a)

httpd -install resin-b

httpd -install resin-c

httpd -install resin-d


7.启动apache和四个resin

1)启动resin

因为配置了server id 所以,不能直接执行httpd.exe.用命令行(在这里一定要注意,不是直接启动resin中的httpd.exe,如果启动就错了。这个问题我也是找了很久)

cd 到resin的安装目录

httpd -server resin-a start //这里的-server后面的resin-a就和resin.conf中的<server id="resin-a"中的resin-a对应(停止服务为httpd -server resin-a stop )
httpd -server resin-b start

httpd -server resin-c start

httpd -server resin-d start

5.启动apahe

进入apache安装目录

net start apache2.2

(或者直接到window>控制面板>服务中找到apache2.2[因为安装了apache后,apache会自动安装成window服务])
8.在浏览器中输入http://localhost/caucho-status,如果看到host列的四个都为绿色,则表求配置成功,你可以输入你web应用的目录来进行测试了

因为我配置的项目路径为:

<web-app id="/struts2" root-directory="D:/workspace/struts2/WebRoot"/>

所以可以通过http://localhost/来访问你的项目

该URL直接指向了你的WebRoot,在你的D:/workspace/struts2/WebRoot加入一个test.jsp

那么就可以通过http://localhost/test.jsp来访问了。

 

注意:

1.如果你在apache的httpd.conf中找到

DocumentRoot:节点。

该节点表示的意思就是在apache中配置你项目的根路径。

DocumentRoot "E:/BOSS/SVN_work/boss/web"

在这里指定你的项目根路径。如果没有指定,那么所有的页面都没有样式。

2.找到:

<IfModule dir_module>
    DirectoryIndex index.html index.jsp default.jsp
</IfModule>

该节点中表示的是你项目访问的首页地址。

 

apache/httpd.conf

该文件的最后可以另外配置以下的参数:

<IfModule mod_caucho.c>

 

#表示对于服务目录下的web-inf目录禁止访问
 <LocationMatch "/WEB-INF">
    deny from all
  </LocationMatch>

 

 

#表示所有以JSP结尾的文件都进行转发到RESIN服务器。

 <LocationMatch (.*?).jsp>
 SetHandler caucho-request
 </LocationMatch>

#表示对于所有以.action结尾的URL都转发到RESIN服务器。

 <LocationMatch (.*?).action>
 SetHandler caucho-request
 </LocationMatch>

 

#表示所有以/servlet开头的URL都转发到resin服务器

<LocationMatch "/servlet/*">
 SetHandler caucho-request
 </LocationMatch>

 <Location /caucho-status>
   SetHandler caucho-status
 </Location>
 

#表示是否配置http://localhost/caucho-status页面的监控

 CauchoStatus yes
</IfModule>

 

 

日志文件的产生。

resin配置成window服务启动以后,会在resin安装路径下的log文件夹下产生相应的LOG文件

比如:

jvm-resin-a.log这个就是resin-a启动后的日志文件。

分享到:
评论
1 楼 yanxb191 2011-01-30  
这么好帖子。。没人评论一下吗?请问有没有配制成功的?谈下经验哈!

相关推荐

    Windows下Resin的配置与部署(附图).doc

    此外,Resin还支持负载均衡功能,通过增加服务器数量来提高网站的稳定性和可靠性。相比于其他流行的服务器如Tomcat,Resin在Web应用支持方面有着明显的优势。 #### 二、Resin的安装与配置 ##### 1. 下载与安装 - **...

    resin4.0配置文件介绍

    Resin 还提供了负载均衡的功能,可以配置多个 Resin 实例,并通过负载均衡器来分配请求。同时,Resin 也提供了对集群中的 Resin 实例进行监控的能力。 #### 四、Resin 4.0 的迁移指南 迁移至 Resin 4.0 可能涉及到...

    利用nginx实现动静分离和负载均衡 by 李乐,杨.doc

    同时,Nginx 可以根据策略将请求分发到多个后端服务器,实现负载均衡,提升系统的整体处理能力。 例如,Nginx 配置中可以包含以下部分: ```nginx http { upstream backend { server 127.0.0.1:8888; server ...

    resin 入门基础教程.pdf

    Resin Professional 在免费版的基础上增加了更多的高级特性,如负载均衡、故障转移等企业级功能。 #### 二、安装指南 - **快速启动** - Resin 安装快速入门:本章节提供了 Resin 的快速安装步骤,包括下载、解压...

    Linux运维从入门到高级全套案例v3

    - **LVS+Keepalived负载均衡**:使用Linux Virtual Server(LVS)和Keepalived实现高可用的负载均衡解决方案。 - **Squid缓存服务器配置**:配置Squid代理服务器,减少网络带宽消耗。 6. **高并发系统内核优化**:...

    nginx服务部署1

    3. **反向代理和负载均衡**:Nginx可作为HTTP反向代理,加速缓存,并实现负载均衡,同时具备RS服务器健康检查功能。 4. **缓存功能**:Nginx可以作为缓存服务器,类似于Squid,支持memcache和redis等缓存技术。 5....

    企业应用:解密淘宝网的开源架构

    在应用服务器前,淘宝网部署了Apache作为Web服务器,以实现负载均衡和请求转发。Apache以其稳定性和强大的功能成为主流选择。然而,近年来,轻量级的Lighttpd(简称Lighty)因其低内存占用和优异的性能,也成为某些...

    计算机从业者求职简历(测试)

    她还在天津教育资源网项目中,利用Resin和Apache实现了负载均衡测试。 在锐迅有限公司,她担任软件售后服务工程师,编写用户手册,处理用户问题,实施现场项目,提供解决方案,并参与了CMM和软件测试的专业培训,...

    Java 组件和框架汇总

    负载均衡工具,如LVS(Linux Virtual Server)是基于IP层的负载均衡解决方案,而NGINX则是一个高性能的反向代理和负载均衡服务器,常用于Web服务器。 分布式存储系统中,Ceph是一个统一的、高扩展性的存储平台,...

    强烈推荐 Linux运维从入门到高级全套案例教程

    LVS(Linux Virtual Server)结合Keepalived实现服务器集群的负载均衡。 **5.9 Squid缓存服务器配置** 配置Squid作为缓存服务器,提高访问速度。 #### Linux下高并发系统内核优化 针对高并发场景下的Linux系统...

    美信软件操作文档

    - 操作系统:支持Windows Server 2003及以上版本、Linux等主流操作系统; - 内存:至少需要2GB RAM(推荐4GB以上); - 存储空间:磁盘空间至少为10GB(推荐更大容量); - 网络连接:需具备稳定的局域网或广域网...

    小白入门linux入门到高级全套案例

    介绍Nginx作为负载均衡器的基本原理、配置方法及可能遇到的问题解决方案。 #### 八、Linux运维职业规划 提供关于Linux运维人员的职业发展路径建议,包括技能提升方向、岗位职责等内容。 #### 九、Linux运维面试...

    Linux运维从入门到高级Linux全套案例教程

    比如构建高性能的Nginx WEB服务器、Rsync同步服务器、Tomcat/Resin JAVA服务器、Nginx与Tomcat动静分离、LNAMP架构配置、DNS域名解析服务器、MySQL主从高可用架构、LVS+Keepalived负载均衡、Squid缓存服务器配置等。...

    主流商业及开源软件相关知识

    集群技术通过负载均衡器实现,负载均衡器可以将请求均匀地分配给集群中的各个节点,避免单点过载,确保服务的连续性和高效性。 ### 五、数据库与数据仓库的区别 数据库是按照数据结构来组织、存储和管理数据的仓库...

    Tomcat中文帮助

    10. **集群和负载均衡**:如果需要高可用性和负载分发,可以配置Tomcat集群,利用`mod_proxy`等工具实现负载均衡。 11. **与IDE集成**:如Eclipse、IntelliJ IDEA等开发工具中如何集成Tomcat,方便调试和运行Web...

    Linux入门到高级

    #### 八、Nginx负载均衡机制及常见问题 - **负载均衡原理**: - 通过分发请求到不同的后端服务器来均衡负载。 - 支持轮询、最少连接等算法。 - **常见问题及解决方法**: - **连接超时**:调整连接超时时间。 - *...

    intra mart iwp文档

    - **其他设置**:包括负载均衡等高级配置选项。 4. **JBoss 配置**:介绍如何在 JBoss 环境下进行部署和配置。 5. **移动设备支持**: - **简易登录功能**:针对手机端提供的便捷登录机制。 - **智能手机使用**...

    梳理的一些java开发中用上的框架和开发工具,肯定会遗漏,欢迎补充

    LVS (Linux Virtual Server) 是一个基于Linux内核的负载均衡系统。 - **NGINX**: 框架。NGINX 是一款高性能的HTTP和反向代理Web服务器,同时也是一款IMAP/POP3/SMTP代理服务器。 ### 数据处理 #### 数据库连接池 -...

    常用的web服务器软件整理(win+linux)

    4. **Nginx**:Nginx以其高效和轻量级著称,不仅能作为HTTP服务器,还可以作为反向代理和负载均衡器。它能有效地分发用户请求,提高Web应用的并发处理能力,特别是对于静态内容的处理有出色表现。 5. **Lighttpd**...

Global site tag (gtag.js) - Google Analytics