搭建nginx+tomcat负载均衡
环境:Ubuntu64
nginx作为一款轻量级的Web服务器, 一个重要的功能就是反向代理,负载均衡,这里我们在一台机器上搭建一个nginx服务为两个tomcat服务负载均衡的模型,实际应用上tomcat服务可以多台服务器上。
配置两个tomcat服务器
获取安装包,并复制两份
wget http://ftp.meisei-u.ac.jp/mirror/apache/dist/tomcat/tomcat-8/v8.5.66/bin/apache-tomcat-8.5.66.tar.gz
tar xf apache-tomcat-8.5.66.tar.gz
cp -R apache-tomcat-8.5.66 /app1/apache-tomcat8-1
cp -R apache-tomcat-8.5.66 /app1/apache-tomcat8-2
修改tomcat server 1 配置server.xml
<Connector port="8881" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
启动tomcat server 1
/app1/apache-tomcat8-1/bin/catalina.sh start
修改tomcat server 2 配置server.xml,同一台机器上避免端口重复,修改以下两个端口配置
<Server port="8006" shutdown="SHUTDOWN">
<Connector port="8882" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
启动tomcat server 2
/app1/apache-tomcat8-2/bin/catalina.sh start
配置nginx服务
新建nginx服务配置 nginx8080.conf
listen 8080;
location / {
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://tomcat_clusters;
}
#服务列表 weight是权重的意思,权重越大,分配的概率越大。
upstream tomcat_clusters {
server localhost:8881 weight=1;
server localhost:8882 weight=1;
}
启动nginx
/usr/local/nginx/sbin/nginx -c nginx8080.conf
测试服务联通性
使用curl命令测试服务的联通性
curl http://localhost:8080/
依次停止tomcat服务
/app1/apache-tomcat8-1/bin/catalina.sh stop
/app1/apache-tomcat8-2/bin/catalina.sh stop
当两个tomcat服务全部停止时,web无法访问