10分钟学会在iis搭建服务器集群实现负载均衡和nginx代理转发

nginx概述

nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;

同时也是一个IMAP、POP3、SMTP代理服务器;

nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。

回到顶部

nginx反向代理实现负载均衡

两张图理解其中的业务流程

首先上网查资料nginx相关原理,文字性描述感觉很无聊,于是自己总结两张对比图,如下:

1、一般情况下(未使用nginx服务器集群流程):

            图1:未使用服务器集群

2、使用nginx服务器集群后流程【注:本图以一级nginx服务器为例】:

          图2:未使用服务器集群

根据这两张图对比,不难得出以下结论:

利用nginx管理起IIS服务器后:

可靠性大大增强:一台或多台IIS服务器宕机,服务不中断!细心的读者发现如果nginx服务器宕机呢?当然可以通过配置多个及多级nginx服务器来解决。处理大访问量时大大减小IIS服务器压力,提高访问速度。消耗硬件资源多:多增加一台服务器(在数据量不大的时候nginx也可与IIS共用一台服务器)与N台IIS服务器!不过在硬件成本不断降低以及高可靠性的今天,对于大访问量网站,这个影响几乎可以忽略不计。要不然也不会有这么多的用户比如国内的用户:百度,新浪,网易,腾讯等。

创建发布IIS

我们创建3个文件夹nginx、nginx1、nginx2,每个文件夹里面创建一个index.html文件,内容如下,然后发布到iis访问。

nginx文件夹index.html内容

<h1> 我是nginx—— 集群服务器8020 </h1>

nginx1文件夹index.html内容

<h1> 我是nginx—— 集群服务器8071 </h1>

nginx2文件夹index.html内容

<h1> 我是nginx—— 集群服务器8072 </h1>

发布后访问其中一个显示如下内容

下载nginx

我们去官网下载windows版本的nginx, 下载地址:

这里下载的是稳定版1.20.1,其他版本操作基本相同。

配置nginx

把刚刚下载的文件解压,整体拷贝到你自己指定的路径去。

下载后解压出来后目录结构如下

更改配置文件进入conf文件,找到nginx.conf文件,更改配置,里面的weight代表当前服务器的权重,值越高使用率越高,如下

启动nginx

1、启动命令

start nginx

2、重新载入Nginx

nginx.exe -s reload

进入nginx里面的cong文件夹位置,输入cmd回车

启动后,如果修改了配置文件的话需要运行 nginx.exe -s reload重新载入,

配置如下:

打开浏览器,在地址栏中输入刚才在Nginx中设置的代理(这里是192.168.0.5:8046,这是你自己配置的监听服务器)。

按F5刷新(大家如果有兴趣可以更改配置文件中Weight中的比例来看效果,我这里设置了1权重,也就是说平均分配)

回到顶部

nginx代理转发(反向代理)

正向代理

正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,

客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

客户端才能使用正向代理。

如:在如今的网络环境下,我们如果由于技术需要去访问国外的某些网站,此时你会发现位于国外的某网站我们通过浏览器是没有办法访问的,

此时大家可能都会用一个操作FQ进行访问,FQ的方式主要是找到一个可以访问国外网站的代理服务器,我们将请求发送给代理服务器,代理服务器去访问国外的网站,然后将访问到的数据传递给我们!

            图:正向代理

反向代理

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。

同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。

反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

           图:反向代理

示例

访问本地的指定路径反向代理转发到博客园地址

配置如下:

重新加载nginx,运行本地地址+配置的监听端口,如下:

原文地址: