Nginx安装好之后。開始使用它来简单实现反向代理与负载均衡的功能。在这之前。首先得脑补一下什么是反向代理和负载均衡。

  反向代理:是指以代理server来接收Internet上的请求,然后将请求转发到内部网络的server上,并将结果返回给Internet上连接的client。此时的代理server对外就表现为反向代理server。

   通俗来讲,反向代理server就好比我们常说的中介。Internetclient能够看作是租房的客户,而内部网络的server好比是房东。租户通过中介与房东沟通,最后租到房子。

                

    负载均衡。分摊到多个操作单元上进行运行。从而实现多个操作单元来共同完毕任务,经常使用来平衡集群中各server的负载压力。本次实例主要是在反向代理的基础上实现简单的负载均衡。

   实例:

     1、准备工作

        Nginxserver、多个应用server(本实例使用tomcat)

     2、文件改动

        改动本地文件hosts文件(在本机C:\Window\system32\drivers\etc)

           

        改动nginx安装文件夹下的配置文件nginx.conf(本路径为/usr/local/nginx/nginx.conf)。添加Server节点,例如以下:   

upstream tomcats{
server 192.168.91.129:8080 ;
server 192.168.91.129:8081;
} server {
listen 80;
server_name tomcat.vb2c.com; location /{
proxy_pass http://tomcats;
index index.html index.htm;
}
}

        分别启动tomcat(本次使用两个tomcat)、nginxserver

     3、測试

       在本地输入:tomcat.vb2c.com地址,没刷新一次訪问不同的tomcatserver,例如以下:

       

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3BiOTI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

 

      在此基础上实现负载均衡。事实上就是为Serverport加上weight权重。权重越大。訪问的概率越大,例如以下:     

 upstream tomcats{
server 192.168.91.129:8080 weight=2;
server 192.168.91.129:8081;
} server {
listen 80;
server_name tomcat.vb2c.com; location /{
proxy_pass http://tomcats;
index index.html index.htm;
}
}

      訪问时,8080的响应次数大于8081

    我们从外部进行訪问时。实际訪问的是Nginxserver,可是Nginxserver将我们的请求转发给内部的tomcatserver,从外相来看,我们訪问的是Nginx,实际上是tomcat。

此时的Nginxserver就作了反向代理的功能,这种长处就是,众多用户同一时候訪问一台server,通过反向代理,能够实现将请求转向多台内部server,既能加快处理的速度。又能减轻server的压力。

    至此,简单的反向代理与负载均和实例就完毕了。看似非常easy的功能。可是对于Linux菜鸟来说在操作时会遇到各种问题。比方改动配置文件。怎样使用命令来操作等。当然等熟练之后也就得心应手了,并且如今有好多专门的工具进行文件的改动。

版权声明:本文为博主原创文章,未经博主同意不得转载。

  • 本文已收录于下面专栏:

Nginx简单实现反向代理和负载均衡

Nginx安装好之后,開始使用它来简单实现反向代理与负载均衡的功能。在这之前,首先得脑补一下什么是反向代理和负载均衡。
  反向代理:是指以代理server来接收Internet上的请求,然后将请求转发到...
  • u013036278
  • 2017年02月05日 20:10
  • 2170

Nginx反向代理和负载均衡

1.反向代理概念(1).正向代理的概念
正向代理,也就是传说中的代理,他的工作原理就像一个跳板。简单的说。我是一个用户。我訪问不了某站点,可是我能訪问一个代理server,这个代理server呢,...
  • qq_21267705
  • 2016年06月27日 22:06
  • 2902

负载均衡 反向代理 nginx

1. 先看下概念性东西(欲完负载均衡  必看其文)

让代理server将请求 均匀转发给多台内部Webserver之中的一个上,从而达到负载均衡的目的。这样的代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理...

  • yilukuangpao
  • 2016年07月12日 13:06
  • 2399

Nginx简单实现反向代理和负载均衡

Nginx安装好之后,開始使用它来简单实现反向代理与负载均衡的功能。在这之前。首先得脑补一下什么是反向代理和负载均衡。

反向代理:是指以代理server来接收Internet上的请求,然后将请求转发到...

  • ahjxhy2010
  • 2017年04月17日 11:44
  • 128

Nginx简单实现反向代理和负载均衡

Nginx安装好之后。開始使用它来简单实现反向代理与负载均衡的功能。在这之前,首先得脑补一下什么是反向代理和负载均衡。
  反向代理:是指以代理server来接收Internet上的请求。然后将请求转发到...
  • qq_34341290
  • 2017年04月17日 11:04
  • 195

学习Nginx反向代理实现简单负载均衡

学习Nginx反向代理实现简单负载均衡
  • zhangming1013
  • 2015年03月03日 21:59
  • 824

使用Nginx反向代理来实现简单的负载均衡

Nginx反向代理的原理长处:
反向代理能够简单的理解为:代理server来接收internet上的server请求,然后将请求转发给内部的server上,然后将结果返回给internet上请求的client,所以代理服务...
  • RuanJava
  • 2013年02月28日 14:21
  • 601

使用nginx简单实现反向代理和负载均衡

nginx 这个轻量级、高性能的 web server 主要能够干两件事情:

  〉直接作为http server(取代apache,对PHP须要FastCGI处理器支持);
  〉另外一个功...

  • xingyunLOST
  • 2015年10月23日 11:47
  • 302

Maven项目热部署、nginx反向代理负载均衡

  • 2017年11月05日 09:28
  • 416KB
  • 下载

nginx的反向代理和负载均衡的安装手冊

  • 2017年09月07日 10:41
  • 313KB
  • 下载

反向代理:是指以代理server来接收Internet上的请求,然后将请求转发到内部网络的server上,并将结果返回给Internet上连接的client,此时的代理server对外就表现为反向代理server。的更多相关文章

  1. 远程首次连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析(转)

    PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的 MYSQL开启了DNS的反向解析,在MY.INI(WINDOW ...

  2. 远程连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析

    PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的 MYSQL开启了DNS的反向解析,在MY.INI(WINDOW ...

  3. 设计网页录入信息与自己定义server数据接收

    需求:设计一个注冊网页用于录入username和登录password.并将数据传入server并显示出来. 1.前言:网页提交的 get 和 post 两种方式. (1)对于get提交方式,以本文中样 ...

  4. MySQL安装教程及Navicat连接MySQL报错:1251-Client does not support authentication protocol requested by server

    MySQL安装可参考: MySql 8.0.18安装 此参考文章后面涉及到的密码修改,对本标题碰到的错误同样适用. 本文先讲如何安装,在讲碰到的1251问题.要直接看解决方案的朋友可以直接通过目录链接 ...

  5. 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理

    服务器文档下载zip格式   刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...

  6. ruby使用DBI连接MySQL数据库发生异常:in `error': Can't connect to MySQL server on 'localhost' (10061) (DBI::DatabaseError)

    Ruby使用DBI连接MySQL数据库一般为: require "dbi" dbh = DBI.connect("dbi:Mysql:test:localhost&quo ...

  7. Window Server IIS6.0部署webservice请求调用提示请求失败

    在一台window server 2003机器上部署了一个webservice,iis为6.0,奇怪的是.在服务器本机调用webservice成功了,可是在其它client调用却反馈失败.详细什么原因 ...

  8. mac下安装mysql 连接时候报错 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

    http://segmentfault.com/q/1010000000094608 同样的问题,先在网上搜了下其他人解决这个问题的方法,是去修改mysql.cnf文件添加mysql.sock文件路径 ...

  9. 使用SSH代理上IPV6(使用SSH端口转发)

    这几个月在国外待着,一直担心我的六维账户怎么办,那可是个宝贝啊.我看网上说可以用六飞啊神马的在IPV6下上IPV6的网站,但是冒失现在六维封禁了非学校的IPV6地址,所以这些软件就不顶用了. 想到以前 ...

随机推荐

  1. 【开卷故意】JAVA正則表達式模版

    专业既然是机器学习.那工作肯定也是继续和数据打交道,那么问题来了,非常多时候推荐算法和数据挖掘算法都是现成可用的,平台初建,重点还在数据过滤和抽取.如何高效的抽取数据? 利用往常算法比赛中经常使用的字 ...

  2. js04---object1

    我们目前为止大多数引用类型都是Object类型的实例,Object也是ECMAScript中使用最多的一种类型(就像java.lang.Object一样,Object类型是所有它的实例的基础).Obj ...

  3. 6lession-基本数据类型

    因为自己是根据网上教程学习的,所以以下内容参考自 http://www.w3cschool.cc/python/python-variable-types.html python支持物种数据类型,分别 ...

  4. C++ 为什么要virtual析构函数

    class A { public: A() { printf("A()\n"); } virtual ~A() { printf("~A()\n"); } }; ...

  5. 6.CPP风格数组

    //数组初始化 1 #include <iostream> using namespace std; void main() { //C int a[5] = { 1,2,3,4,5 }; ...

  6. 06 Jenkins自动化构建

    • 在之前的freestyle任务基础上,实现构建功能• 检查maven环境• 构建命令:mvn clean compile• 归档构建产物• 演练参数的使用• 通过配置Trigger进行自动构建• ...

  7. Mongodb总结5-通过装饰模式,用Mongodb解决Hbase的不稳定问题

    最近继续学习Mongodb的根本原因,是为了解决今天的问题.项目中用到了Hbase,生产环境服务器用了3台,但是不够稳定,每2天左右,就连不上了.重启就好了,当然,这是一个历史遗留问题.我在想,是不是 ...

  8. 【Codeforces Round #431 (Div. 2) C】From Y to Y

    [链接]点击打开链接 [题意] 让你构造一个大小最多为10W的字符multiset. 你进行n-1次操作; 每次操作,从set中取出两个字符串,一开始单个字符被认为是字符串. 然后把它们连接在一起. ...

  9. js进阶 14-4 $.get()方法和$.post()方法如何使用

    js进阶 14-4 $.get()方法和$.post()方法如何使用 一.总结 一句话总结:$.get(URL,callback); $.post(URL,data,callback); callba ...

  10. Java设计模式——代理模式实现及原理

    简介 Java编程的目标是实现现实不能完成的,优化现实能够完成的,是一种虚拟技术.生活中的方方面面都可以虚拟到代码中.代理模式所讲的就是现实生活中的这么一个概念:中介. 代理模式的定义:给某一个对象提 ...