精华内容
参与话题
问答
  • 集群(其实谈不上,不过是部署了几个tomcat服务器,用jk/jk2负责负载平衡,而且关于负载平衡我还不大了解,只是我不清楚该怎么称谓,暂且用这个怪吓人的名字)的结构:3机器,机器A部署了Win2000pro Tomcat...
    集群(其实谈不上,不过是多部署了几个tomcat服务器,用jk/jk2负责负载平衡,而且关于负载平衡我还不大了解,只是我不清楚该怎么称谓,暂且用这个怪吓人的名字)的结构:3台机器,机器A部署了Win2000pro Tomcat(jvmRoute:tomcat1,以下如同)和apache,机器B、C(操作系统都是WinXp)分别各部署了一个Tomcat服务器(tomcat2,tomcat3)

    1、 mod_jk2作为连接器插件的服务器整合
    服务器环境:Windows2000 profession apache_2.0.54 tomcat_4.1.18
    连接器插件:mod_jk2.so (version 2.0.4终结版 apache组织计划在apache2.1/2.2版本中将实现该连接器)
    整合过程:
    a) 下载apache和mod_jk2(在apache的官方网站上即可 ,以下连接仅供参考:
    apache:http://httpd.apache.org/download.cgi
    mod_jk2:http://apache.justdn.org/jakarta/tomcat-connectors/jk2/binaries/win32/

    b) 安装apache_2.0.54,安装目录假设为C: \apache2(以下用APACHE_HOME代表);将下载的连接器压缩包解压后找到mod_jk2.so文件,将其拷贝至APACHE_HOME\modules目录下
    c) 配置jk2:
    修改APACHE_HOME\conf\目录下的httpd.conf文件配置如下:
    #在文件中LoadModule部分增加以下代码
    LoadModule jk2_module modules/mod_jk2.so #加载插件
    在APACHE_HOME\conf\目录下建立workers2.properties文件配置如下: # Define the communication channel
    [channel.socket:10.0.0.33:8009]
    info=Ajp13 forwarding over socket #配置第一个服务器
    tomcatId=tomcat1 #必须和tomcat服务其中server.xml中对Engine元素中的#jvmRoute的设置一样,即在server.xml中的设置如下:
    #<Engine name="Standalone" defaultHost="localhost" #debug="0" jvmRoute="tomcat1">
    #这个名字必须唯一,保证集群中的tomcat服务器不能同 #名
    debug=0
    lb_factor=1 #负载平衡因子,数字越大请求被分配的几率越高

    # Define the communication channel
    [channel.socket:10.0.0.16:8009]
    info=Ajp13 forwarding over socket #配置第二个服务器
    tomcatId=tomcat2
    debug=0
    lb_factor=1

    # Define the communication channel
    [channel.socket:10.0.0.31:8009]
    info=Ajp13 forwarding over socket #配置第三个服务器
    tomcatId=tomcat3
    debug=0
    lb_factor=1

    [status:]
    info=Status worker, displays runtime information.

    # Map the Tomcat examples webapp to the Web server uri space
    #用于显示各个服务器的接收的请求状态(表述可能不准)
    [uri:/jkstatus.jsp]
    info=Display status information and checks the config file for changes.
    group=status:

    # Map the Tomcat examples webapp to the Web server uri space
    #映射tomcat中的应用即Context,由于我们的应用是放在tomcat的webapps/root目录 #下的,所以 uri设置为 /*,如果为应用 B,且部署在webapps/B,则uri设置为/B/*
    [uri:/*]
    info=Map the whole webapp
    debug=0
    d) 分别启动tomcat服务器和apache服务器(注意:必须保证每台Tomcat服务器都在Engine中设置了正确的jvmRoute,这样负载平衡才有作用),然后就可以试试你的部署了,你可以在apache服务器所在机器上通过http://localhost/jkstatus.jsp 来查看你部署的tomcat的接收请求的情况及负载情况(这里我忽略了各个服务器的端口设置及其他内容的设置)
    2、 mod_jk作为连接器插件的服务器整合
    服务器环境:Windows2000 profession apache_2.0.54 tomcat_4.1.18
    连接器插件:mod_jk-1.2.10-apache-2.0.53.so (version 1.2.10)
    整合过程:
    a) 下载apache和mod_jk(在apache的官方网站上即可 ,以下连接仅供参考:
    apache:http://httpd.apache.org/download.cgi
    mod_jk2:http://apache.justdn.org/jakarta/tomcat-connectors/jk/binaries/win32/jk-1.2.10/

    b) 安装apache_2.0.54,安装目录假设为C: \apache2(以下用APACHE_HOME代表);将下载的连接器压缩包解压后找到mod_jk-1.2.10-apache-2.0.53.so文件,将其拷贝至APACHE_HOME\modules目录下
    c) 配置jk2:
    修改APACHE_HOME\conf\目录下的httpd.conf文件配置如下:
    #在文件中LoadModule部分增加以下代码
    LoadModule jk_module modules/mod_jk-1.2.10-apache-2.0.53.so #加载插件
    JkWorkersFile conf/workers.properties #指定jk配置文件位 #置
    JkLogFile logs/mod_jk-1.2.10-apache-2.0.53.log #指定jk日志的位置
    JkLogLevel debug #日志记录级别
    JkMount /* tomcat #“/*”表示用于tomca #处理的应用 ;“tomcat”是出现在#workers.properties文件中worker.list后面 #出现的值
    JkMount /jkstatus.jsp jkstatus #用于显示各个服务器的接收的请求状态 #(表述可能不准)
    在APACHE_HOME\conf\目录下建立workers.properties文件配置如下: workers.tomcat_home=E:\Tomcat 4.1 #让mod_jk模块知道Tomcat
    workers.java_home=D:\j2sdk1.4.2 #让mod_jk模块知道j2sdk
    ps=\ #指定文件路径分割符

    worker.list=tomcat,jkstatus #指定处理web应用的tomcat服务器列表,可以是实 #际的tomcat服务器,也可以是负责负载平衡的“虚”#服务器(它是实际服务器组的管理者)

    worker.tomcat.method=R #指定jk转发请求的方式,T表示根据网络特性选择提 #供服务的tomcat服务器,R表示根据请求数量和负载因#子转发,缺省为R(理解可能有误)

    worker.tomcat1.port=8009 #工作端口,若没占用则不用修改
    worker.tomcat1.host=localhost #Tomcat服务器的地址
    worker.tomcat1.type=ajp13 #类型
    worker.tomcat1.lbfactor=1 #负载平衡因数

    worker.tomcat2.port=8009 #工作端口,若没占用则不用修改
    worker.tomcat2.host=10.0.0.16 #Tomcat服务器的地址
    worker.tomcat2.type=ajp13 #类型
    worker.tomcat2.lbfactor=2 #负载平衡因数

    worker.tomcat3.port=8009 #工作端口,若没占用则不用修改
    worker.tomcat3.host=10.0.0.31 #Tomcat服务器的地址
    worker.tomcat3.type=ajp13 #类型
    worker.tomcat3.lbfactor=2 #负载平衡因数

    worker.tomcat.type=lb #表明这个worker负责负载平衡
    worker.tomcat.balance_workers=tomcat1,tomcat2,tomcat3 # lb类型的worker管理的实际#部署的tomcat服务器, 它的 #名称必须与tomcat服务器中的#Server.xml中Engine元素的#jvmRoute设置必须相同,并且#在balance_workers中出现的这#些值不能出现在worker.list 中

    worker.jkstatus.type=status #表明这个worker负责显示集群状态
    d) 分别启动tomcat服务器和apache服务器(注意:必须保证每台Tomcat服务器都在Engine中设置了正确的jvmRoute,这样负载平衡才有作用),然后就可以试试你的部署了,你可以在apache服务器所在机器上通过http://localhost/jkstatus.jsp 来查看你部署的tomcat的接收请求的情况及负载情况(这里我忽略了各个服务器的端口设置及其他内容的设置)
    展开全文
  • 可能这种需求比较少见,不过如果手上...先是Apache,同一台电脑装多台Apache需要把原来的复制一份。 修改conf/httpd.conf  1.文件中会有一些Apache的路径,需要全部替换成新位置,全文大概一共有五处需要修改。 ...

    可能这种需求比较少见,不过如果手上服务器不够用。可以考虑先这么干着。。

    具体Tomcat怎么搭集群,就不在这细说了。只写同台电脑部署多组集群需要修改和注意的地方。

     

    一、Apache

    先是Apache,同一台电脑装多台Apache需要把原来的复制一份。

    修改conf/httpd.conf

      1.文件中会有一些Apache的路径,需要全部替换成新位置,全文大概一共有五处需要修改。

      2.端口号需要改,根据自己的需求,我这里是改成8088

     

    然后添加服务:管理员权限打开cmd切换到新Apache目录下面执行:httpd -k install -n Apache2.2_2

     

     

    二、Tomcat

    接下来就是tomcat,除了正常配集群需要改的端口以外,还需要改一个地方。

    注意:这里同一组集群中,此处端口号需要保持一致。否则Tomcat之间无法相互关联。

     

     

    至此,就可以在同一台电脑上部署两组负载均衡(集群)了。

     

     

    三、关于乱码

    最后顺便提一下编码的问题,在搭建集群以后,如果发现你的项目页面出现乱码,或者查询不到中文信息的话。除了项目本身不编码意外,请注意一下以下Tomcat配置文件中的这两个地方。

    1.配置http请求端口的位置,加上URIEncoding="gbk" 编码根据自己需要改,注意"gbk"和red...之间是有个空格的;

     

    2.配置ajp请求端口的位置,一般这里是Apache和Tomcat接轨的地方所以这个地方的编码也需要改成自己需要的。

     

    转载于:https://www.cnblogs.com/HeXiaoZhou/p/8525467.html

    展开全文
  • 集群(其实谈不上,不过是部署了几个tomcat服务器,用jk/jk2负责负载平衡,而且关于负载平衡我还不大了解,只是我不清楚该怎么称谓,暂且用这个怪吓人的名字)的结构:3机器,机器A部署了Win2000pro+Tomcat...

    集群(其实谈不上,不过是多部署了几个tomcat服务器,用jk/jk2负责负载平衡,而且关于负载平衡我还不大了解,只是我不清楚该怎么称谓,暂且用这个怪吓人的名字)的结构:3台机器,机器A部署了Win2000pro+TomcatjvmRoutetomcat1,以下如同)和apache,机器BC(操作系统都是WinXp)分别各部署了一个Tomcat服务器(tomcat2tomcat3

     

     

     

    1、 mod_jk2作为连接器插件的服务器整合

    服务器环境:Windows2000 profession + apache_2.0.54 + tomcat_4.1.18

    连接器插件:mod_jk2.so  version 2.0.4终结版 apache组织计划在apache2.1/2.2版本中将实现该连接器)

    整合过程:

    a)           下载apachemod_jk2(在apache的官方网站上即可 ,以下连接仅供参考:

    apachehttp://httpd.apache.org/download.cgi

    mod_jk2http://apache.justdn.org/jakarta/tomcat-connectors/jk2/binaries/win32/

    b)      安装apache_2.0.54,安装目录假设为C: /apache2(以下用APACHE_HOME代表);将下载的连接器压缩包解压后找到mod_jk2.so文件,将其拷贝至APACHE_HOME/modules目录下

    c)      配置jk2

    修改APACHE_HOME/conf/目录下的httpd.conf文件配置如下:

    #在文件中LoadModule部分增加以下代码

    LoadModule jk2_module modules/mod_jk2.so  #加载插件

    APACHE_HOME/conf/目录下建立workers2.properties文件配置如下:          # Define the communication channel

    [channel.socket:10.0.0.33:8009]

    info=Ajp13 forwarding over socket  #配置第一个服务器

    tomcatId=tomcat1                 #必须和tomcat服务其中server.xml中对Engine元素中#jvmRoute的设置一样,即在server.xml中的设置如   #下:

                                                #<Engine name="Standalone" defaultHost="localhost" #debug="0" jvmRoute="tomcat1">

                                                #这个名字必须唯一,保证集群中的tomcat服务器不

                                                #能同

    debug=0

    lb_factor=1       #负载平衡因子,数字越大请求被分配的几率越高

     

     

     

    # Define the communication channel

    [channel.socket:10.0.0.16:8009]

    info=Ajp13 forwarding over socket  #配置第二个服务器

    tomcatId=tomcat2

    debug=0

    lb_factor=1

     

     

     

    # Define the communication channel

    [channel.socket:10.0.0.31:8009]

    info=Ajp13 forwarding over socket  #配置第三个服务器

    tomcatId=tomcat3

    debug=0

    lb_factor=1

     

     

     

    [status:]

    info=Status worker, displays runtime information.

     

     

     

    # Map the Tomcat examples webapp to the Web server uri space

    #用于显示各个服务器的接收的请求状态(表述可能不准)

    [uri:/jkstatus.jsp]

    info=Display status information and checks the config file for changes.

    group=status:

     

     

     

    # Map the Tomcat examples webapp to the Web server uri space

    #映射tomcat中的应用即Context,由于我们的应用是放在tomcatwebapps/root  #目录下的,所以 uri设置为 /*,如果为应用 B,且部署在webapps/B,则uri设#置为/B/*

    [uri:/*]

    info=Map the whole webapp

    debug=0

    d)    分别启动tomcat服务器和apache服务器(注意:必须保证每台Tomcat服务器都在Engine中设置了正确的jvmRoute,这样负载平衡才有作用),然后就可以试试你的部署了,你可以在apache服务器所在机器上通过http://localhost/jkstatus.jsp 来查看你部署的tomcat的接收请求的情况及负载情况(这里我忽略了各个服务器的端口设置及其他内容的设置)

    2、 mod_jk作为连接器插件的服务器整合

    服务器环境:Windows2000 profession + apache_2.0.54 + tomcat_4.1.18

    连接器插件:mod_jk-1.2.10-apache-2.0.53.so  version 1.2.10

    整合过程:

    a)       下载apachemod_jk(在apache的官方网站上即可 ,以下连接仅供参考:

    apachehttp://httpd.apache.org/download.cgi

    mod_jk2http://apache.justdn.org/jakarta/tomcat-connectors/jk/binaries/win32/jk-1.2.10/

    b)      安装apache_2.0.54,安装目录假设为C: /apache2(以下用APACHE_HOME代表);将下载的连接器压缩包解压后找到mod_jk-1.2.10-apache-2.0.53.so文件,将其拷贝至APACHE_HOME/modules目录下

    c)      配置jk2

    修改APACHE_HOME/conf/目录下的httpd.conf文件配置如下:

    #在文件中LoadModule部分增加以下代码

    LoadModule  jk_module  modules/mod_jk-1.2.10-apache-2.0.53.so   #加载插件

    JkWorkersFile  conf/workers.properties                        #指定jk配置文件位  #

    JkLogFile  logs/mod_jk-1.2.10-apache-2.0.53.log                         #指定jk日志的位置

    JkLogLevel debug                                                                        #日志记录级别

    JkMount  /*  tomcat                                                    #/*”表示用于tomca          #处理的应用 ;“tomcat”是出现在#workers.properties文件中worker.list后面 #出现的值

    JkMount  /jkstatus.jsp  jkstatus        #用于显示各个服务器的接收的请求状态 

                                                                #(表述可能不准)

    APACHE_HOME/conf/目录下建立workers.properties文件配置如下:            workers.tomcat_home=E:/Tomcat 4.1  #mod_jk模块知道Tomcat

    workers.java_home=D:/j2sdk1.4.2  #mod_jk模块知道j2sdk

    ps=/  #指定文件路径分割符

     

     

     

    worker.list=tomcat,jkstatus      

    #指定处理web应用的tomcat服务器列表,可以是实 

    #际的tomcat服务器,也可以是负责负载平衡的“虚”

    #服务器(它是实际服务器组的管理者)

     

     

     

    worker.tomcat.method=R      

    #指定jk转发请求的方式,T表示根据网络特性选择提 

    #供服务的tomcat服务器,R表示根据请求数量和负载因

    #子转发,缺省为R(理解可能有误)

     

     

     

    worker.tomcat1.port=8009  #工作端口,若没占用则不用修改

    worker.tomcat1.host=localhost  #Tomcat服务器的地址

    worker.tomcat1.type=ajp13  #类型

    worker.tomcat1.lbfactor=1  #负载平衡因数

     

     

     

    worker.tomcat2.port=8009  #工作端口,若没占用则不用修改

    worker.tomcat2.host=10.0.0.16  #Tomcat服务器的地址

    worker.tomcat2.type=ajp13  #类型

    worker.tomcat2.lbfactor=2  #负载平衡因数

     

     

     

    worker.tomcat3.port=8009  #工作端口,若没占用则不用修改

    worker.tomcat3.host=10.0.0.31  #Tomcat服务器的地址

    worker.tomcat3.type=ajp13  #类型

    worker.tomcat3.lbfactor=2  #负载平衡因数

     

     

     

    worker.tomcat.type=lb  #表明这个worker负责负载平衡

    worker.tomcat.balance_workers=tomcat1,tomcat2,tomcat3 

     # lb类型的worker管理的实际

    #部署的tomcat服务器, 它的 

    #名称必须与tomcat服务器中的#Server.xmlEngine元素的

    #jvmRoute设置必须相同,并且#balance_workers中出现的这

    #些值不能出现在worker.list

     

     

     

    worker.jkstatus.type=status  #表明这个worker负责显示集群状态

    d)      分别启动tomcat服务器和apache服务器(注意:必须保证每台Tomcat服务器都在Engine中设置了正确的jvmRoute,这样负载平衡才有作用),然后就可以试试你的部署了,你可以在apache服务器所在机器上通过http://localhost/jkstatus.jsp 来查看你部署的tomcat的接收请求的情况及负载情况(这里我忽略了各个服务器的端口设置及其他内容的设置)

     

     

     

     

     

     

    参考资料:

    Tomcat权威指南 O’REILLY 中国电力出版社

    http://jakarta.apache.org            

    http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/howto/apache.html

    http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/howto/workers.html中可以找到关于jk设置的详细说明,有些可能由于本人的英语水平导致的问题您可以在这里找到正确的解答

    展开全文
  • 高并发 问题怎么解决

    2019-06-26 14:43:00
    对于高并发问题,我认为总的来说可以分为三个方面:前端,服务器,数据库。 前端:web线程连接数不足 后台:服务器网络带宽不足 数据库:数据库连接查询速度上不去 ...后台:增加网络带宽,DNS域名解析分发多台...

     

    对于高并发问题,我认为总的来说可以分为三个方面:前端,服务器,数据库。

    前端:web线程连接数不足

    后台:服务器网络带宽不足

    数据库:数据库连接查询速度上不去

     

    针对于这三方面来说要各有针对性的优化方法

    (对于高并发问题,只有不断优化,而不存在绝对的并发安全)

    前端:实现负载均衡,配置前置代理服务器,如NGINX,Apache等;

    后台:增加网络带宽,DNS域名解析分发多台服务器;

    数据库:对数据处查询进行优化,实现读写分离

     

    个人对处理高并发问题的一些理解:

    对于处理高并发问题,顺序应该是 代码 > 软件 > 硬件 因为成本消耗是逐步提升的而且差距非常大,所以应该先从程序代码来优化在逐步考虑软件以及硬件。

    下面具体来说一些高并发常需处理的问题:

    代码方面(其实有很多细节可以做到优化代码,我只举几个例子)

    比如 

    不要频繁的new对象,对于整个应用中,只需存在一个实例的类要采用单例模式,不要用String 进行字符串连接,而使用StringBuffer或StringBuilder;

    尽管Exception可以控制方法的退出,但Exception要保留stacktrace消耗性能;

    尽量少使用instanceof作为条件判断,尽量使用‘比’作为条件;

    在使用类的时候尽量选取效率高的类,比如ArrayList就比Vector要好。

    尽量多使用缓存机制,多花点内存做缓存可以大量减少与数据库的交互提高性能;

    前端使用静态页面,减少容器的解析;

    优化数据库结构,多做索引提高效率;

    统计功能尽量做缓存,每天定时统计相关的报表,避免必要时统计

    ………

     

    硬件提升:搭建服务器集群,数据库集群,实现读写分离等等

     

    正如短板决定水桶的盛水量,我们应该知道并发瓶颈到底出现在哪一方面,才能做出针对行的优化,所以我们可以利用一些类似于jprofiler工具来找出并发瓶颈再进行处理

    转载于:https://www.cnblogs.com/mark5/p/11089784.html

    展开全文
  • asp.net知识库

    2015-06-18 08:45:45
    怎么在ASP.NET 2.0中使用Membership asp.net 2.0-实现数据访问(1) ASP.NET 2.0 新特性 .NET 2.0里使用强类型数据创建多层应用 在MastPage中引用脚本资源 2.0正式版中callback的一些变化+使用示例(ASP.NET 2.0)...
  • 请出来指点迷津... <strong>问题补充</strong><br/><div class="quote_title">fanfq 写道</div><div class="quote_div">拒绝访问攻击,不会吧,访问量才500,LZ可能是没有做好负载均衡吧。 应该不是访问...
  • RPC:全称远程过程调用,是一种进程间的通信的方式,它所做的事情就是实现进程内的通信,允许调用另外一个地址空间,可以是共享网络里的另外一机器。 2.2) RPC核心模块 RPC有两个核心模块:通信和序列化 三、...
  • 为什么阿里巴巴禁止使用Apache Beanutils进行属性的copy? 为什么阿里巴巴禁止开发人员使用isSuccess作为变量名? 为什么阿里巴巴要求谨慎使用ArrayList中的subList方法 为什么阿里巴巴不建议在for循环中使用"+"进行...

空空如也

1 2 3 4
收藏数 65
精华内容 26
关键字:

多台apache怎么负载