• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Apache及Tomcat搭建集群环境过程解析

    其实Apache把集群搭建起来并不麻烦,我这里也是从网上找了一些资料自己配置出来的,当然有一些参数需要自己设置下,做到最优

    搭建集群首先是下载软件,因为公司这边的服务器是Win2003的,所以也节俭了一些操作:

    Apache下载地址:http://httpd.apache.org/ 我下载的是Apache httpd 2.2.27 Released

    Tomcat 下载地址:http://tomcat.apache.org/download-60.cgi 我下载的是6.0.39的解压版

    首先是配置Tomat,因为Tomcat就是集群的各个节点,首先要保证各个节点能正常运行起来:
    做两个节点,解压Tomcat文件夹分别命名为tomcat-node1,tomcat-node2
    需要修改的配置文件:

    Tomcat启动内存:

    Bin下catalina.bat,因为是Win2003,Linux下是catalina.sh,在文件的最头部增加:

    set JAVA_OPTS=-Xms256m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:-UseGCOverheadLimit -XX:+UseConcMarkSweepGC -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000

    如果是Linux,只是写法稍微不同:

    JAVA_OPTS="-server -Xms256m -Xmx1030m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:-UseGCOverheadLimit -XX:+UseConcMarkSweepGC -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

    具体各个参数的含义和具体优化方案,谷歌“tomat 启动内存”,这里需要指出的是,在Windows下,JVM启动内存最大是设备内存的1/4,我这台机器不管你设置多大,都是1300M。

    Tomcat日志配置:

    conf下的logging.properties,这里你可以不管它,但是需要指出的是,如果不配置,服务长久运行下去后,日志可能会出现占满磁盘的情况,到时会造成宕机的情况,哥就遇到过,不多说了。
    配置日志,需要注意的几点有,1:日志输出地址。2:日志输出级别。3:日志输出大小
    想尽配置自己谷歌吧,以为即使你不配置也不影响继续往下看。

    Tomcat监控配置:

    conf下tomcat-users.xml,这里文件就这么点内容:

    <?xml version='1.0' encoding='utf-8'?>
    <tomcat-users>
    </tomcat-users>

    我说的是除了注释以外。这里就增加一个用户:

    <?xml version='1.0' encoding='utf-8'?>
    <tomcat-users>
    <role rolename="manager"/>
    <user username="admin" password="admin_cui" roles="manager"/>
    </tomcat-users>

    更想尽的配置,好吧,你懂的。配置之后你可以通过访问http://localhost:8011/manager/html来查看当前连接处理情况。

    核心、重点,server.xml

    三个端口,一个名字:

    管理端口:shutdown="SHUTDOWN"前面有一个端口,第一个端口,我就设置为8012,第二个就是22

    <Server port="8012" shutdown="SHUTDOWN">

    服务端口:

    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="300" minSpareThreads="50" maxIdleTime="120000" />
    <Connector executor="tomcatThreadPool" address="0.0.0.0" port="8011" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="120000"
    maxKeepAliveRequests="1" redirectPort="443" maxHttpHeaderSize="8192" URIEncoding="UTF-8" enableLookups="false" acceptCount="500" compression="on"
    compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" disableUploadTimeout="true"/>

    可以看出来,这里都是优化过的配置,包括NIO、连接池、编码,压缩等,各个参数含义不多说了。
    AJP端口:

    <Connector port="8039" protocol="AJP/1.3" redirectPort="8443" />

    jvmRoute名字,集群时用:

    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm3">

    下面的一段配置也放开:

    <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" />

    如果你启动Tomcat能启动,且访问8011可以访问,那么这个节点就配置好了,其他节点都一样,记得三个端口一个名字各个节点需不一样。

    配置Apache

    配置文件httpd.conf是最主要的配置文件,配置时需要注意以下几点:
    放开代理模块的加载:

    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.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 proxy_scgi_module modules/mod_proxy_scgi.so

    放开对网站的访问,这里我就不再啰嗦配置,直接全放开了

    Deny from All

    的全部改为

    allow from all

    放开如下几个配置文件的加载,把前面的#去掉即可

    httpd-mpm.conf和httpd-default.conf默认即可,如果你想根据实际情况进行一些相关配置,可以参考前面分享的文章
    httpd-vhosts.conf的话,配置集群节点服务标记,ServerAlias配置为本地IP即可

    <VirtualHost *:80>
    ServerAdmin webmaster@dummy-host3.wuxian.com
    ServerName 192.168.1.102
    ServerAlias 192.168.1.102
    ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On
    ProxyPassReverse / balancer://cluster/
    ErrorLog "logs/lbtest-error.log"
    CustomLog "logs/lbtest-access.log" common
    </VirtualHost>

    在httpd.conf最底部增加如下配置

    ProxyRequests Off
    <proxy balancer://cluster>
    BalancerMember ajp://127.0.0.1:8019 loadfactor=1 route=jvm1
    BalancerMember ajp://127.0.0.1:8029 loadfactor=1 route=jvm2
    </proxy>

    开启反向代理,使用AJP代理访问,loadfactor是分发权重,route是之前在Tomcat中定义的名字,注意这里是AJP端口不是Tomcat服务端口

    Tomcat性能调优和Apache配置文件的定制,是影响集群性能的重要两点。
    到此其实已经配置完成了,还是需要提一点的是,会话共享,在各个工程的web.xml中增加<distributable/>这配置即可。

    把Tomcat小猫都启动起来,然后启动Apache,访问实际工程即可。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    上一篇:如何通过LambdaProbe实现监控Tomcat
    下一篇:Nginx代理同域名前后端分离项目的完整步骤
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Apache及Tomcat搭建集群环境过程解析 Apache,及,Tomcat,搭建,集群,