在linux下配置tomcat集群:
假如配置两个tomca,那么在linux下的etc/profile中加入下面的代码:
export CATALINA_HOME=tomcat1的安装路径
export CATALINA_BASE=tomcat1的安装路径
export TOMCAT_HOME=tomcat1的安装路径
export CATALINA_HOME_2=tomcat2的安装路径
export CATALINA_BASE_2=tomcat2的安装路径
export TOMCAT_HOME_2=tomcat2的安装路径
TOMCAT默认加载的是catalina_home catalina_base tomcat_home中的文件信息,所以需要在tomcat2的catalina.sh文件中配置,具体如下:
# OS specific support. $var _must_ be set to either true or false. 在catalina.sh中 找到这句话在这句话的下面的配置如下:
CATALINAT_HOME=$CATALINAT_HOME_2
CATALINA_BASE=$CATALINA_BASE_2
这两句话的意思是让tomcat2启动时加载这两个位置文件
之后,若是在一台机器上配置的两台tomcat服务器,那么需要配置第二台tomcat的启动端口,一般是直接在原来的基础上增加1000.
若是分机器部署则不需要配置相关端口号。
tomcat配置完成后,使用nginx的负载均衡upstream节点配置负载均衡的节点如下:
upstream 节点名称(随便起){
server 域名:端口号 或者 ip:端口号
有几个tomcat就配置几个server
...
}
之后在nginx配置文件中的location节点中配置 praxy_pass http://upstream节点名称就好了
集群之后的优点:
提高了服务的高可用性,在一台服务器挂掉之后,nginx会自动的将请求分配到其他的Tomcat节点
缺点:
显著的缺点就是session共享问题,还有就是定时任务的分布式锁的问题。
session共享问题可以使用cookie + redis服务器来解决