这篇短文主要介绍Tomcat
的集群和用Nginx
反向代理实现Tomcat
负载均衡。
1、首先需要对一些知识点进行扫盲(对自己进行扫盲,囧):
- 集群(Cluster)
简单来说就是用N台服务器构成一个松耦合的多处理器系统(对外是一个服务器),内部通过网络实现通信。让N台服务器之间相互协作,共同承载一个网站的请求压力。用知乎上一个作者的话来说就是“同一个业务,部署在多个服务器上”,这就是集群。 集群中比较重要的是任务调度。 - 负载均衡(Load Balance)
简单来说就是根据某种负载策略把请求分发到集群中的每一台服务器上,让整个服务器群来处理网站的请求,从而共同完成工作任务。
2、安装环境如下:
- 腾讯云主机,安装的是
Centos7.3 64bits
Nginx 1.7.4
JDK8
和Tomcat8
3、具体安装步骤:
- JDK安装请参照 点我试试
- Nginx安装请参照 点我试试
配置Nginx web反向代理, 实现两个Tomcat负载均衡:
--安装及配置Tomcat tar -zxvf apache-tomcat-8.5.28.tar.gz cp -rf apache-tomcat-8.5.28 /usr/local/tomcat1 mv apache-tomcat-8.5.28 /usr/local/tomcat2 --修改tomcat1端口号 $ cd /usr/local/tomcat1/conf/ $ cp server.xml server.xml.bak $ cp web.xml web.xml.bak $ vi server.xml <Server port="8005" shutdown="SHUTDOWN"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1" > ##修改Tomcat2端口号 $ cd /usr/local/tomcat2/conf/ $ cp server.xml server.xml.bak $ cp web.xml web.xml.bak $ vi server.xml <Server port="8006" shutdown="SHUTDOWN"> <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" /> <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2" > --添加Tomcat1开机自动启动 --将/usr/local/tomcat1/bin/catalina.sh文件复制到/etc/init.d目录下并改名为tomcat1 # cp /usr/local/tomcat1/bin/catalina.sh /etc/init.d/tomcat1 --修改/etc/init.d/tomcat1文件,在文件中添加: # vi /etc/init.d/tomcat1 --在第一行下面输入如下内容(否则出现错误:tomcat 服务不支持 chkconfig): #!/bin/sh # chkconfig: 2345 10 90 # description:Tomcat1 service # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with ..................................................................... # $Id: catalina.sh 1498485 2013-07-01 14:37:43Z markt $ # ----------------------------------------------------------------------------- CATALINA_HOME=/usr/local/tomcat1 JAVA_HOME=/usr/local/jdk8 # OS specific support. $var _must_ be set to either true or false. --添加tomcat服务: # chkconfig --add tomcat1 --设置tomcat为开机自启动: # chkconfig tomcat1 on --将tomcat2设置开机自启动 --将/usr/local/tomcat2/bin/catalina.sh文件复制到/etc/init.d目录下并改名为tomcat2 # cp /usr/local/tomcat2/bin/catalina.sh /etc/init.d/tomcat2 --修改/etc/init.d/tomcat2文件,在文件中: # vi /etc/init.d/tomcat2 --在第一行下面输入如下内容(否则出现错误:tomcat 服务不支持 chkconfig): #!/bin/sh # chkconfig: 2345 10 90 # description:Tomcat2 service # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with ..................................................................... # ---------------------------------------------------------------