服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Tomcat - Apache及Tomcat搭建集群环境过程解析

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

2021-09-16 16:57cuisuqiang Tomcat

这篇文章主要介绍了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

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

  • include conf/extra/httpd-mpm.conf 配置多路处理模块(mpm) 的辅配置文件
  • include conf/extra/httpd-vhosts.conf 配置虚拟主机的辅配置文件
  • include conf/extra/httpd-default.conf 配置与apache服务自身相关的辅配置文件

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,访问实际工程即可。

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

原文链接:https://www.iteye.com/blog/cuisuqiang-2070357

延伸 · 阅读

精彩推荐
  • TomcatEclipse创建tomcat实现过程原理详解

    Eclipse创建tomcat实现过程原理详解

    这篇文章主要介绍了Eclipse创建tomcat实现过程原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以...

    海绵般汲取11642021-09-16
  • Tomcat一次tomcat源码启动控制台中文乱码的调试过程记录

    一次tomcat源码启动控制台中文乱码的调试过程记录

    平时在使用tomcat做一些服务的时候经常遇到各种乱码问题,下面这篇文章主要给大家介绍了一次tomcat源码启动控制台中文乱码的调试过程,需要的朋友可以...

    zhoutaoping199211852021-09-24
  • TomcatTomcat整体结构简单介绍

    Tomcat整体结构简单介绍

    这篇文章主要介绍了Tomcat整体结构简单介绍,Tomcat的本质是一个Servlet容器。一个Servlet能做的事情是:处理请求资源,并为客户端填充response对象,需要的朋友...

    叫我田露也行12302021-09-07
  • Tomcat如何查看tomcat的控制台输出的方法

    如何查看tomcat的控制台输出的方法

    这篇文章主要介绍了如何查看tomcat的控制台输出的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    CaiCaiNeo11932021-08-29
  • TomcatTomcat安装配置方法图文教程

    Tomcat安装配置方法图文教程

    这篇文章主要为大家详细介绍了Tomcat安装配置方法图文教程,java环境变量如何配置,Eclipse安装配置方法图文教程 ,为大家分享了三个教程,感兴趣的小伙...

    Tomcat教程网13292021-08-11
  • TomcatTomcat CentOS安装实现过程图解

    Tomcat CentOS安装实现过程图解

    这篇文章主要介绍了Tomcat CentOS安装实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考...

    agrin5842021-09-15
  • Tomcat解决Tomcat的maxPostSize属性的配置需要注意的问题

    解决Tomcat的maxPostSize属性的配置需要注意的问题

    这篇文章主要介绍了解决Tomcat的maxPostSize属性的配置需要注意的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...

    life is wonderful12012021-09-13
  • TomcatTomcat服务器的安全设置

    Tomcat服务器的安全设置

    tomcat是一个开源Web服务器,基于Tomcat的Web运行效率高,可以在一般的硬件平台上流畅运行,因此,颇受Web站长的青睐。不过,在默认配置下其存在一定的安...

    IT专家网9002021-08-03