在centos7上如何实现基于nginx+tomcat的负载均衡

[复制链接]

975

主题

975

帖子

629

积分

高级会员

Rank: 4

积分
629
分享到:
发表于 2022-5-30 14:30:22 | 显示全部楼层 |阅读模式
下文给大家带来在centos7上如何实现基于nginx+tomcat的负载均衡,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用Vecloud在行业内累计的经验来做一个解答。
概述通常情况下,一个Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下,所以需要一套更可靠的解决方案来完善web站点架构。
nginx是一款优秀的http云服务器软件,它能够支持多达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存,CPU等系统资源消耗非常低。目前有很多大型网站都应用nginx作为后端网站程序的反向代理及负载均衡。
本案例我们将已nginx作为负载均衡器,反向代理,tomcat作为节点服务器。

案例环境主机IP地址nginx服务器192.168.177.132tomcat服务器1192.168.177.145tomcat服务器2192.168.177.135tomcat服务器安装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/javaexport JRE_HOME=/usr/local/java/jreexport PATH=$PATH:/usr/local/java/binexport 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)
安装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 //修改默认网页内容(站点)  <h3>this is 145!!!</h3>

==注==:两台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 ScriptPROG="/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 1esacexit 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服务//

使用高级回帖 (可批量传图、插入视频等)快速回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
快速回复 返回顶部 返回列表