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. IOS项目开发中的文件和文件夹操作

    + (NSFileManager *)getNSFileManager { // iNSFileManager是一个静态变量 if (!iNSFileManager) { iNSFileManager ...

  2. Spring4 MVC REST服务使用@RestController实例

    在这篇文章中,我们将通过开发使用 Spring4 @RestController 注解来开发基于Spring MVC4的REST风格的JSON服务.我们将扩展这个例子通过简单的注释与JAXB标注域类支 ...

  3. python 面向对象类成员(字段 方法 属性)

    一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province: # 静态字段 countr ...

  4. selenium + js 处理窗口

    1.隐藏页面的广告窗口 document.getElementById("top_left").style.display="none"; 2.隐藏控件点击 d ...

  5. ios -完全实现代码设置 Could not find a storyboard named 'Main' in bundle NSBundle

    UIWindow *windows = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds]; windows.background ...

  6. es6 async与await实战

    在使用js的时候,我们经常会遇到一个问题,就是我们需要等待请求返回再做下一步处理,之前的处理方式是通过ajax的success或者callback之类的方法,不过一层一层真的恶心,而且只是针对单个页面 ...

  7. 队列实现 (双向循环链表 C++)

    队列是非常easy的.可是用数组实现可能更好点. . (事实上我认为数组在多个队列的时候更难) 然后我是第一次写双向循环链表.指向太乱了. 我这里是依照自己的想法.建立了一个头节点,一个尾节点,然后依 ...

  8. TOC之关键链项目管理遇到软件project7原则

    编著者:张克强    微博:张克强-敏捷307 软件project7原则简单介绍 美国著名软件project专家鲍伊姆(B.W.Boehm,也又另译为勃姆)在总结软件project准则和信条的基础上, ...

  9. Android开发:《Gradle Recipes for Android》阅读笔记1.6——使用android studio添加依赖

    有经验的gradle开发者习惯直接编辑build.gradle文件,但是IDE没有提供许多代码提示.IDE提供了一个可视的界面显示配置内容. 点击像文件夹一样的图标可以看到project struct ...

  10. linux下软件的安装与卸载

    一 软件安装包的类型 通常Linux应用软件的安装有五种:    1) tar+ gz包,如software-1.2.3-1.tar.gz.他是使用UNIX系统的打包工具tar打包的.    2) r ...