在centos7上如何实现基于nginx+tomcat的负载均衡-创新互联

  • 下文给大家带来在centos7上如何实现基于nginx+tomcat的负载均衡,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用创新互联在行业内累计的经验来做一个解答。

    网站建设、网站制作的开发,更需要了解用户,从用户角度来建设网站,获得较好的用户体验。创新互联建站多年互联网经验,见的多,沟通容易、能帮助客户提出的运营建议。作为成都一家网络公司,打造的就是网站建设产品直销的概念。选择创新互联建站,不只是建站,我们把建站作为产品,不断的更新、完善,让每位来访用户感受到浩方产品的价值服务。
  • 概述

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

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

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

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

  • 案例环境
主机IP地址
nginx服务器192.168.177.132
tomcat服务器1192.168.177.145
tomcat服务器2192.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)

在centos7上如何实现基于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 //修改默认网页内容(站点)
   

this is 145!!!

在centos7上如何实现基于nginx+tomcat的负载均衡
在centos7上如何实现基于nginx+tomcat的负载均衡
在centos7上如何实现基于nginx+tomcat的负载均衡
在centos7上如何实现基于nginx+tomcat的负载均衡
在centos7上如何实现基于nginx+tomcat的负载均衡
在centos7上如何实现基于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服务//

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

看了以上关于在centos7上如何实现基于nginx+tomcat的负载均衡,如果大家还有什么地方需要了解的可以在创新互联行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,创新互联技术工程师在行业内拥有十几年的经验了。创新互联官网链接www.yisu.com

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:在centos7上如何实现基于nginx+tomcat的负载均衡-创新互联
URL分享:http://hbruida.cn/article/djeepd.html