Apache2.4.6+tomcat8.0.302服务器集群

来源:互联网 发布:gson遍历json key 编辑:程序博客网 时间:2024/05/18 21:40

网上很多关于集群的文章,不过很多在细节上讲的不够详尽。导致初学者在测试时出现的问题不能解决。好了,话说到这里,关键是解决问题。


1、首先群集所需组件的准备,我这里用的是Apache2.4.6,tomcat8.0.302,jdk1.8

    Apache2.4.6下载地址:http://download.csdn.net/detail/benxiaohai529/9652400   绿色免安装版

   tomcat8和jdk8我这里就不提供下载地址了,因为这个网上一搜一大堆。


2、Apache2.4.6安装及配置

    1)首先我提供的是免安装版的,下载后直接解压即可;解压后放在磁盘英文目录下。

    2)以管理员身份打开命令行窗口。

    3) cd   C:\Apache24  进入到Apache2.4.6安装目录,

        http -k install  安装Apache2.4.6服务,这样就可以在计算机的服务里看到这个服务,

        

         在这里可以设置服务是否开机启动。

        http -k uninstall解除服务,即卸载该服务;执行此命令后该服务即从计算机的服务中移除

        httpd  启动服务。

       服务是否正常启动可以在浏览器里输入http://localhost/   进行测试,如果出现It Works说明正常 启动,不同版本显示的内容有可        能不一样。

       

          如果启动失败一般有三种情况 :

          第一种端口被其它程序占用不能启动,因为Apache监听端口是80,而此端口也是web服务常 用        的端口,所以在启动        Apache服务前应停掉其它服务对80端口的占用或者修改Apache监听端口。

          修改端口 :在conf/httpd.conf中搜索   Listen 80  在 这里修改即可,

          第二种路径设置

           conf/httpd.conf中搜索  ServerRoot  在ServerRoot 后面有双引号的字符串,双引号里面的字符串是指你Apache2.4.6的安装 目录,我这里是ServerRoot "c:/Apache24"记住ServerRoot 与"c:/Apache24"中间有空格的。

          第三种情况就是load加载错误而导致的。这种情况不能一概而论,视俱体情况而定。


3、Apache2.4.6配置tomcat集群

      第一步:在conf目录下新建mod_proxy_balancer.conf文件并在mod_proxy_balancer.conf文件中添加以下内容

                   #---------------------start------------------------
LoadModule proxy_module modules/mod_proxy.so
 LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
 LoadModule rewrite_module modules/mod_rewrite.so
 LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
 LoadModule proxy_connect_module modules/mod_proxy_connect.so
 LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
 LoadModule proxy_http_module modules/mod_proxy_http.so
 LoadModule slotmem_shm_module modules/mod_slotmem_shm.so


LoadModule speling_module modules/mod_speling.so
 LoadModule ssl_module modules/mod_ssl.so


 #----------------------end---------------------

    第二步:在conf/httpd.conf的文件尾追加

                  include conf/mod_proxy_balancer.conf

    第三步:在conf/httpd.conf的文件尾追加

                 LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
                LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

     第四步:在conf/httpd.conf的文件尾追加

                ProxyRequests Off 
  <proxy balancer://cluster> 
      BalancerMember http://127.0.0.1:8080 loadfactor=1 route=tomcat
      BalancerMember http://127.0.0.1:8180 loadfactor=3 route=tomcat1
      BalancerMember http://127.0.0.1:8280 loadfactor=1 route=tomcat2 
  </proxy> 
ProxyPass / balancer://cluster/

               在这里我重点讲解的是第四步

                ProxyRequests Off    关闭正向代理请求,

                <proxy balancer://cluster> 
      BalancerMember http://127.0.0.1:8080 loadfactor=1 route=tomcat
      BalancerMember http://127.0.0.1:8180 loadfactor=3 route=tomcat1
      BalancerMember http://127.0.0.1:8280 loadfactor=1 route=tomcat2 
 </proxy> 
配置负载均衡,cluster名字自己随意起,这是负载均衡的名字,

                 BalancerMember http://127.0.0.1:8080 loadfactor=1 route=tomcat

                http://127.0.0.1:8080    tomcat服务器的地址  ,loadfactor 权重比,我这里是三个服务器,假如访问次数是5的话,其中只        有一次可以访问名称为tomcat的服务器一次,即访问频率是1/(1+3+1);  route路由名称,这个名称是在tomcat service.xml的

        <Engine name="Catalina" jvmRoute="Tomcat" defaultHost="localhost">中配置的。与jvmRoute对应,这是我个人的理解。

       ProxyPass / balancer://cluster/启用反向代理,这样来自Apache的请求都转向了tomcat了。

 4、tomcat配置修改

       在tomcat  service.xml中搜索

       Engine name="Catalina"

        设置成:<Engine name="Catalina" jvmRoute="Tomcat" defaultHost="localhost">

       jvmRoute="Tomcat"与Apache里 BalancerMember http://127.0.0.1:8080 loadfactor=1 route=tomcat

        route相同。

      如果在同一台机子上还需修改

      Server shutdown  端口

     

     Connector的port端口,这里是两个,如下面图

    

      至此集群配置完毕,我们快来验证我们的成果吧,

      首先创建一个test.jsp,分别放在三个tomcat的test中,每个tomcat中test.jsp显示 的内容不一样,然后启动apache服务和tomcat三个服务器,所有服务器启动完毕后我们打开浏览器,在浏览器里输入http://localhost/test/test.jsp.然后我们在试着刷新几次,效果就显而已见了。




          

    

0 0
原创粉丝点击