Nginx+Tomcat实现负载均衡群集实例,可跟做!!!

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

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

案例环境

案例实施

(1)安装部署Tomcat 1服务

[[email protected] ~]#  tar zxf apache-tomcat-8.5.16.tar.gz -C /usr/src
[[email protected] ~]# mv /usr/src/apache-tomcat-8.5.16/ /usr/local/tomcat8
[[email protected] ~]# vim /usr/local/tomcat8/conf/server.xml
                          ……………………          //省略部分内容
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
//host定义一个虚拟主机,域名为localhost,appBase定义应用程序基准目录,unpackWARs定义是否自动解压,autoDeploy定义是否自动部署
                     ……………………          //省略部分内容,添加以下内容
        <Context docBase="/web/webapp" path="" reloadable="false">
        </Context>
//context定义一个web应用(虚拟目录),path指定访问目录,docBase定义网页目录,当应用程序发生变化时候,自动装载,不用重启tomcat(手动添加 <Context  ……></Context>内容)

      </Host>
[[email protected] ~]# /usr/local/tomcat8/bin/startup.sh
//启动Tomcat服务
[[email protected] ~]# mkdir -p /web/webapp
[[email protected] ~]# vim /web/webapp/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
        <head>
                <title>JSP test1 page</title>
</head>
<body>
<% out.println("welcome to test");%>
</body>
</html>
[[email protected] ~]# netstat -anpt | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      18026/java
[[email protected] ~]# firewall-cmd --add-port=8080/tcp
success
//开启相应的端口,不建议关闭防火墙

客户端访问测试:

搭建Tomcat服务器详细信息及软件包网盘下载点就参考博文:部署Tomcat(Web)服务详解

(2)安装部署Tomcat 2服务

搭建方法跟搭建第一台Tomcat服务器一样(实际生产环境中,主页内容必须一致,但是,为了看出实验效果,建议主页内容不要一样)

客户机访问效果:

(3)安装部署Nginx服务

[[email protected] ~]# yum -y install pcre-devel zlib-devel openssl-devel
//pcre为nginx提供rewrite所需的正则表达式语法,zlib:提供压缩,openssl-devel:提供ssl加密
[[email protected] ~]# groupadd www
[[email protected] ~]# useradd -g www www -s /bin/false
//创建所需的程序用户及组(/bin/false)这个shell非常严格,无论通过何种方式登录系统都不允许
[[email protected] ~]# tar zxf nginx-1.12.0.tar.gz -C /usr/src
[[email protected] ~]# cd /usr/src/nginx-1.12.0/
[[email protected] nginx-1.12.0]#  ./configure --prefix=/usr/local/nginx  --user=www --group=www  --with-file-aio  --with-http_stub_status_module   --with-http_gzip_static_module --with-http_flv_module   --with-http_ssl_module
 [[email protected] nginx-1.12.0]# make && make install

Nginx服务详细介绍及相关软件包,请参考博文:基于Nginx搭建Web服务器及虚拟主机相关配置详解

各配置项含义:
// --prefix=:指定安装目录;
//--user=,--group=:指定运行的用户和组;
//--with-file-aio:启用文件修改支持;
//--with-http_stub_status_module:启用状态统计;
// --with-http_gzip_static_module:启用gzip静态压缩;
//--with-http_flv_module:启用flv模块,提供寻求内存使用基于时间的偏移量文件;
// --with-http_ssl_module :启用SSL模块;

[[email protected] nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf
//该Nginx服务配置文件
http {
                                         ………………         //省略部分内容

        upstream  tomcat_server {
        server 192.168.1.2:8080 weight=1;
        server 192.168.1.3:8080 weight=1;
        }
                 //设定负载均衡的服务器列表,weight参数表示权限,权值越高被分到的概率越大
                 //Nginx使用upstream模块实现代理,如果有多台Tomcat服务器,按照前两台的格式继续写就好
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://tomcat_server;
                         //把nginx的默认站点通过proxy_pass方法代理到设定好的tomcat_server负载均衡服务器组
        }
                                           ………………………………    //省略部分内容
}
[[email protected] nginx-1.12.0]# /usr/local/nginx/sbin/nginx -t
//检查Nginx服务配置文件是否有语法错误
[[email protected] nginx-1.12.0]# /usr/local/nginx/sbin/nginx
//启动服务,由于没有优化路径,所以应打绝对路径
[[email protected] nginx-1.12.0]# netstat -anpt | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      46627/nginx: master
[[email protected] nginx-1.12.0]# firewall-cmd --add-service=http
success

测试负载均衡效果:


Nginx+Tomcat实现负载均衡群集已经实现!!!

———————— 本文至此结束,感谢阅读 ————————

原文地址:https://blog.51cto.com/14157628/2435687

时间: 2024-10-16 23:55:56

Nginx+Tomcat实现负载均衡群集实例,可跟做!!!的相关文章

linux下:nginx+tomcat实现负载均衡

Nginx+tomcat+jdk+负载均衡配置 Nginx与tomcat都具有发布网页的功能,但是nginx只能发布HTML的静态网页,tomcat可以发布jsp的网页,并且nginx可以发布tomcat. 下载:jdk.xxxxxx.rpm   apache-tomcat-xxxxxxxxx.tar.gz   openssl.xxxxxx.tar.gz   zlib.xxxx.tar.gz   pcre.xxxx.tar.gz    Nginx.xxxxx.tar.gz 1.jdk安装配置 上

Nginx+Tomcat+Memcached负载均衡配置完整流程(多方总结,亲测可用)

Nginx+Tomcat+Memcached负载均衡配置完整流程: 前言: Nginx实现Tomcat的负载均衡和利用memcached实现session共享. 首先配置tomcat,JDK 将jdk,tomcat 放入站点/opt目录中 安装JDK cd /opt chmod 755 jdk-6u45-linux-x64-rpm.bin ./jdk-6u45-linux-x64-rpm.bin java -version      //检验版本 安装Tomcat tar -zxf apache

[转]Nginx+mysql+php-fpm负载均衡配置实例

转 : http://www.jbxue.com/article/7923.html 介绍一个nginx.mysql.php-fpm环境下配置负载均衡的例子,有需要的朋友,可以参考下. 系统环境如下:前端Nginx:192.168.93.137后端web1:192.168.0.11后端web2:192.168.0.12 1.前端nginx配置: 复制代码代码示例: http {      ……        client_max_body_size 300m;        client_bod

nginx+tomcat+redis负载均衡及session共享

概述 本文档是用来详细描述 nginx+tomcat+redis负载均衡实现session共享 所需软件及下载地址 软件名称 下载地址 功能说明 Nginx-v1.6.0 http://nginx.org/download/nginx-1.6.0.tar.gz 负载均衡 commons-pool-2-2.4.2.jar http://mirrors.hust.edu.cn/apache//commons/pool/binaries/commons-pool2-2.4.2-bin.tar.gz j

Nginx+Tomcat实现负载均衡、动静分离

Nginx+Tomcat实现负载均衡.动静分离 ? 注:本demo是在windows下实现的,只是为初学者提供一个最简单的demo.步骤非常简单 ? JDK.Tomcat.Nginx的下载在此不再叙述 在cmd下进入nginx根目录,执行nginx命令,如下: ? 此时打开http://localhost便可看到欢迎页面. Nginx的主配置文件为conf/nginx.conf,我们可以在此查看端口等简单配置,默认端口为80. ? 重新打开一个cmd,进入nginx根目录:执行nginx –s

Nginx+Tomcat服务器负载均衡实践方案

1.    为何选择Nginx+Tomcat做负载均衡? 1.1. Nginx是什么? Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户

Nginx+Tomcat搭建负载均衡

一.       工具 nginx-1.8.0 apache-tomcat-6.0.33 二.    目标 实现高性能负载均衡的Tomcat集群: 三.    步骤 1.首先下载Nginx,要下载稳定版: 2.然后解压两个Tomcat,分别命名为apache-tomcat-6.0.33-1和apache-tomcat-6.0.33-2: 3.然后修改这两个Tomcat的启动端口,分别为18080和28080,下面以修改第一台Tomcat为例,打开Tomcat的conf目录下的server.xml

Nginx + Tomcat 配置负载均衡集群简单实例

一.Hello world 1.前期环境准备 准备两个解压版tomcat,如何同时启动两个tomcat,请看我的另一篇文章<一台机器同时启动多个tomcat>. nginx官网下载解压版nginx. 创建一个简单的web项目.为了直观的区分访问的哪个tomcat,在页面写上标记8081.8082. 分别部署到对应的tomcat下.如图:???? ? 2.配置nginx 进入nginx-1.10.1\conf路径,修改配置文件nginx.conf. 1.配置服务器组,在http{}节点之间添加u

nginx + tomcat配置负载均衡

目标:Nginx做为HttpServer,连接多个tomcat应用实例,进行负载均衡. 注:本例程以一台机器为例子,即同一台机器上装一个nginx和2个Tomcat且安装了JDK1.7. 1.安装Nginx安装Nginx教程 2.配置两个Tomcat在本机上配置两个Tomcat,分别为tomcat7-8081.tomcat7-8082.tomcat7-8081访问地址:http://localhost:8081,浏览显示内容:this is 8081 porttomcat7-8082访问地址:h