nginx负载均衡配置,windows版本和linux版本的nginx除了启动方式其他基本无差异。

1.Niginx安装

  参考:https://www.cnblogs.com/zwcry/p/9454647.html

2.nginx.conf配置

 简单配置,满足测试与学习,其他属性详解可以问度娘。

 配置了两个上游服务和两个监听服务

 访问 www.dingjie.com 会分发到上游服务 app1_server

 访问 www.dingjie.com 会分发到上游服务 app2_server

#nginx进程,一般设置为和cpu线程数一样
worker_processes 1; events {
#单个负载应用(tomcat)进程的最大并发链接数
worker_connections 1024;
} http { #连接超时时间,单位是秒
keepalive_timeout 65; #防止DDOS攻击,每秒限制1个连接访问
#limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
#limit_conn_zone $binary_remote_addr zone=addr:10m; #weight 权重 max_fails 失败次数 fail_timeout 失败超时
#30秒内连接失败两次将认为该服务不可用 #配置上游服务器1(就是负载均衡需要分发的服务器)
upstream app1_server {
#tomcat1
server 192.168.159.129:8081 weight=1 max_fails=2 fail_timeout=30s;
#tomcat2
server 192.168.159.129:8082 weight=1 max_fails=2 fail_timeout=30s;
} #配置上游服务器2(就是负载均衡需要分发的服务器)
upstream app2_server {
#tomcat1
server 192.168.159.130:8081 weight=1 max_fails=2 fail_timeout=30s;
#tomcat2
server 192.168.159.130:8082 weight=1 max_fails=2 fail_timeout=30s;
} #配置负载均衡服务器
server {
#监听端口
listen 80; #监听地址(ip/域名)
server_name www.dingjie.com; #/拦截所有
location / {
proxy_pass http://app1_server;
proxy_connect_timeout 1;#连接应用(tomcat)超时
proxy_read_timeout 180;
proxy_send_timeout 180;
index index.html index.htm;
}
} #配置负载均衡服务器
server {
#监听端口
listen 80; #监听地址(ip/域名)
server_name www.dingjie2.com; #/拦截所有
location / {
proxy_pass http://app2_server;
proxy_connect_timeout 1;#连接应用(tomcat)超时
proxy_read_timeout 180;
proxy_send_timeout 180;
index index.html index.htm;
}
} # HTTPS server
#
#server {
# listen ssl;
# server_name localhost; # ssl_certificate cert.pem;
# ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on; # location / {
# root html;
# index index.html index.htm;
# }
#} }

3.启动nigix.conf配置里的所有上游服务

  如图,部署在tomcat上的java应用程序已经启动

  注:每个java应用程序的访问地址对应niginx.conf里的upstream server的配置地址

  

  

4.修改本地hosts配置

  windows系统下访问负载均衡地址:www.dingjie.com和www.dingjie2.com

  www.dingjie.com和www.dingjie2.com 域名是假的,需要修改hosts(C:\Windows\System32\drivers\etc\hosts)文件。

  在hosts最底部加入以下两行。

  192.168.159.129 www.dingjie.com

  192.168.159.129 www.dingjie2.com

  注:(192.168.159.129是nginx所在服务器的ip地址);

5.访问测试

  java应用服务已启动、nginx已启动、hosts文件已修改

  打开浏览器访问www.dingjie.com和www.dingjie2.com

  

  

  

Nginx负载均衡案例的更多相关文章

  1. nginx负载均衡(5种方式)、rewrite重写规则及多server反代配置梳理

    Nginx除了可以用作web服务器外,他还可以用来做高性能的反向代理服务器,它能提供稳定高效的负载均衡解决方案.nginx可以用轮询.IP哈希.URL哈希等方式调度后端服务器,同时也能提供健康检查功能 ...

  2. (转)nginx负载均衡(5种方式)、rewrite重写规则及多server反代配置梳理

    Nginx除了可以用作web服务器外,他还可以用来做高性能的反向代理服务器,它能提供稳定高效的负载均衡解决方案.nginx可以用轮询.IP哈希.URL哈希等方式调度后端服务器,同时也能提供健康检查功能 ...

  3. nginx负载均衡配合keepalived服务案例实战

    本实验用4台 centos6 虚拟机,2台做负载均衡,2台做web服务器,都先装上nginx lb01:192.168.0.235  --主负载均衡器 lb02:192.168.0.236  --备负 ...

  4. 解析nginx负载均衡

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://baidutech.blog.51cto.com/4114344/1033718 ...

  5. Nginx 负载均衡原理简介与负载均衡配置详解

    Nginx负载均衡原理简介与负载均衡配置详解   by:授客  QQ:1033553122   测试环境 nginx-1.10.0 负载均衡原理 客户端向反向代理发送请求,接着反向代理根据某种负载机制 ...

  6. [转]Nginx负载均衡原理初解

    什么是负载均衡 我们知道单台服务器的性能是有上限的,当流量很大时,就需要使用多台服务器来共同提供服务,这就是所谓的集群. 负载均衡服务器,就是用来把经过它的流量,按照某种方法,分配到集群中的各台服务器 ...

  7. nginx负载均衡之入门配置

    先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况.那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上 ...

  8. 解析 Nginx 负载均衡策略

    转载:https://www.cnblogs.com/wpjamer/articles/6443332.html 1 前言 随着网站负载的不断增加,负载均衡(load balance)已不是陌生话题. ...

  9. nginx负载均衡详情

    负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...

随机推荐

  1. keypad代码分析

    keypad作为input设备注册到内核,与platform总线驱动match. 1.描述一个输入设备对象 static struct input_dev *kpd_input_dev; 告知输入子系 ...

  2. 第一百八十八节,jQuery,选项卡 UI

    jQueryUI,选项卡 UI 学习要点: 1.使用 tabs 2.修改 tabs 样式 3.tabs()方法的属性 4.tabs()方法的事件 5.tabs 中使用 on 选项卡(tab),是一种能 ...

  3. Hibernate通过many-to-one元素的一对一映射

    在hibernate中我们可以通过两种方式来执行一对一映射: 通过many-to-one元素标签 通过one-to-one元素标签 在这里,我们将通过多对一的many-to-one元素进行一对一的映射 ...

  4. 通过 after() 和 before() 方法添加若干新元素

    after() 和 before() 方法能够通过参数接收无限数量的新元素.可以通过 text/HTML.jQuery 或者 JavaScript/DOM 来创建新元素. 在下面的例子中,我们创建若干 ...

  5. xxxxxxclub系统模块分类

    不是分析整个程序执行的过程. 分析程序在设计的时候模块怎样分类 针对的是应用程序,name 类的装载:1. Spring配置 基于接口调用hsf 3. 一个页面相应的java类 Spring的xml文 ...

  6. 12个十分实用的JavaScript小技巧

    12个非常实用的JavaScript小技巧 在这篇文章中将给大家分享12个有关于JavaScript的小技巧.这些小技巧可能在你的实际工作中或许能帮助你解决一些问题. 使用!!操作符转换布尔值 有时候 ...

  7. 第二章----python函数

    第一节:调用函数 1.函数是什么? 函数是组织好的,可以重复利用的. 2.为什么要用到函数? 提高应用的模块性,提高重复利用率.指的是:多个文件中可能都要用到该函数,直接拿来调用就行,不用在重复写一个 ...

  8. 使用PHP函数输出前一天的时间和后一天的时间

    1.明确date()函数和time()函数的功能,其中time()函数是获取时间戳函数 2.输出前一天的当前时间: echo '一天之前的时间为:'.date('Y-m-d H:i:s',time() ...

  9. maven打包加速(转) (开启多线程,之前发现只占用一核CPU100%,其他CPU闲置的情况)

    采用maven打包时,发现速度超慢,打包一次5-10分钟或者更长时间过去了,严重浪费了一天的时间.因此整理了一下maven打包加速的问题.1.在maven打包中去掉, maven clean, mav ...

  10. “线程安全的” Dictionary(TKey,TValue)

    这是一篇翻译,专门介绍Dictionary线程安全问题,原文网址如下 http://www.grumpydev.com/2010/02/25/thread-safe-dictionarytkeytva ...