前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在CentOS 7上Nginx+Tomcat负载均衡实现

在CentOS 7上Nginx+Tomcat负载均衡实现

作者头像
星哥玩云
发布2022-07-14 10:46:43
3210
发布2022-07-14 10:46:43
举报
文章被收录于专栏:开源部署开源部署
  • 概述

通常情况下,一个Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下,所以需要一套更可靠的解决方案来完善web站点架构。

Nginx是一款优秀的http服务器软件,它能够支持多达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存,CPU等系统资源消耗非常低。目前有很多大型网站都应用nginx作为后端网站程序的反向代理及负载均衡。

本案例我们将已Nginx作为负载均衡器,反向代理,Tomcat作为节点服务器

  • 案例环境

主机

IP地址

nginx服务器

192.168.177.132

tomcat服务器1

192.168.177.145

tomcat服务器2

192.168.177.135

tomcat服务器

安装jdk(1.8版本)

# tar xf apache-tomcat-8.5.23.tar.gz /opt # tar xf jdk-8u144-linux-x64.tar.gz /opt //解压安装包# mv apache-tomcat-8.5.23/ /usr/local/tomcat8 # mv jdk1.8.0_144/ /usr/local/Java //便于管理# vim /etc/profile  //设置环境变量

export JAVA_HOME=/usr/local/java export JRE_HOME=/usr/local/java/jre export PATH=$PATH:/usr/local/java/bin export CLASSPATH=./:/usr/local/java/lib:/usr/local/java/jre/lib

# source /etc/profile# java -version  //查看java版本信息   java version "1.8.0_131"   OpenJDK Runtime Environment (build 1.8.0_131-b12)   OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现

安装tomcat # ln -s /usr/local/tomcat8/bin/startup.sh /usr/bin/tomcatup # ln -s /usr/local/tomcat8/bin/shutdown.sh /usr/bin/tomcatdown //放在/usr/bin下便于识别命令# tomcatup    //开启服务 # netstat -anpt | grep 8080  //查看tomcat端口是否开启 # http://192.168.177.145:8080/        //测试默认测试页是否正常显示(节点) # vim /usr/local/tomcat8/webapps/ROOT/index.jsp //修改默认网页内容(站点)     <h1>this is 145!!!</h1>

在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现

==注==:两台tomcat服务器配置完全一样

nginx服务器 手工编译安装 # tar zxvf nginx-1.12.0.tar.gz -C /opt # yum install pcre-devel zlib-devel gcc gcc-c++ -y    //安装环境包 # useradd -M -s /sbin/nologin nginx  //创建管理nginx的用户 # cd /opt/nginx-1.12.0/     ./configure \     --prefix=/usr/local/nginx \     --user=nginx \  //指定运行的用户     --group=nginx \  //指定运行的组     --with-http_stub_status_module  //启用统计状态 # make && make install # ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/    //让系统识别命令 # nginx -t  //验证语法

编写便于service管理的脚本 # cd /etc/init.d/   vim nginx

#!/bin/bash # chkconfig: - 99 20 # description: Nginx Service Control Script PROG="/usr/local/nginx/sbin/nginx" PIDF="/usr/local/nginx/logs/nginx.pid" case "$1" in   start)     $PROG     ;;   stop)     kill -s QUIT $(cat $PIDF)     ;;   restart)     $0 stop     $0 start     ;;   reload)     kill -s HUP $(cat $PIDF)     ;;   *)         echo "Usage: $0 {start|stop|restart|reload}"         exit 1 esac exit 0 # chmod +x /etc/init.d/nginx  //执行权限 # chkconfig --add nginx # chkconfig --level 35 nginx on # service nginx stop # netstat -ntap | grep 80 # service nginx start # netstat -ntap | grep 80

修改配置文件 # vim /usr/local/nginx/conf/nginx.conf

  #keepalive_timeout  0;     keepalive_timeout  65;

    #gzip  on;     添加:     upstream tomcat_server {                            #添加               server 192.168.177.145:8080 weight=1;  //权重相同,页面会反复在以下两个页面间来回切换               server 192.168.177.135:8080 weight=1;                }

    server {         listen      80; .....省略 location / {             # root  html;             # index  index.html index.htm;             proxy_pass http://tomcat_server;  //添加一行 ,把nginx的默认站点通过 proxy_pass方法代理到设定好的tomcat_server负载均衡服务器上          } # service nginx  restart  //启用nginx服务//

在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现
在CentOS 7上Nginx+Tomcat负载均衡实现
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档