手机版
你好,游客 登录 注册
背景:
阅读新闻

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

[日期:2018-08-13] 来源:Linux社区  作者:凉夏了夏天 [字体: ]
  • 概述

通常情况下,一个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负载均衡实现

安装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负载均衡实现
==注==:两台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负载均衡实现

下面关于Nginx的文章您也可能喜欢,不妨参考下:

CentOS 7下Nginx服务器的安装配置  https://www.linuxidc.com/Linux/2017-04/142986.htm
CentOS上安装Nginx服务器实现虚拟主机和域名重定向  https://www.linuxidc.com/Linux/2017-04/142642.htm
CentOS 6.8 安装LNMP环境(Linux+Nginx+MySQL+PHP)  https://www.linuxidc.com/Linux/2017-04/142880.htm
Linux下安装PHP环境并配置Nginx支持php-fpm模块  https://www.linuxidc.com/Linux/2017-05/144333.htm
Nginx服务的SSL认证和htpasswd认证  https://www.linuxidc.com/Linux/2017-04/142478.htm
Ubuntu 16.04上启用加密安全的Nginx Web服务器  https://www.linuxidc.com/Linux/2017-07/145522.htm
Linux中安装配置Nginx及参数详解  https://www.linuxidc.com/Linux/2017-05/143853.htm
Nginx日志过滤 使用ngx_log_if不记录特定日志 https://www.linuxidc.com/Linux/2014-07/104686.htm
CentOS 7.2下Nginx+PHP+MySQL+Memcache缓存服务器安装配置  https://www.linuxidc.com/Linux/2017-03/142168.htm

使用Nginx+Docker配置HTTPS负载均衡  https://www.linuxidc.com/Linux/2018-06/152855.htm

Nginx 的详细介绍请点这里
Nginx 的下载地址请点这里

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-08/153481.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款