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

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 10分钟学会windows中iis搭建服务器集群实现负载均衡和nginx代理转发

前言

我们之前聊过 10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡https://www.cnblogs.com/xiongze520/p/10308720.html

不怎么理解的可以移步去简单看一下。

 


 

nginx概述

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

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

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


 

nginx反向代理实现负载均衡

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

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

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

            图1:未使用服务器集群

 

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

          图2:未使用服务器集群

 

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

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

  1. 可靠性大大增强:一台或多台IIS服务器宕机,服务不中断!细心的读者发现如果nginx服务器宕机那?当然可以通过配置多个及多级nginx服务器来解决。
  2. 处理大访问量时大大减小IIS服务器压力,提高访问速度。
  3. 消耗硬件资源多:多增加一台服务器(在数据量不大的时候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, 下载地址:http://nginx.org/en/download.html

这里下载的是稳定版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,运行本地地址+配置的监听端口,如下:

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
25天前
|
弹性计算 监控 负载均衡
|
2月前
|
负载均衡 算法 搜索推荐
Nginx 常用的负载均衡算法
【10月更文挑战第17天】在实际应用中,我们需要根据具体的情况来选择合适的负载均衡算法。同时,还可以结合其他的优化措施,如服务器健康检查、动态调整权重等,来进一步提高负载均衡的效果和系统的稳定性。
122 59
|
2月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
165 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
29天前
|
监控 负载均衡 算法
slb管理后端服务器
【10月更文挑战第18天】
25 5
|
1月前
|
负载均衡 算法 应用服务中间件
Nginx 常用的负载均衡算法
【10月更文挑战第22天】不同的负载均衡算法各有特点和适用场景。在实际应用中,需要根据具体的业务需求、服务器性能和网络环境等因素来选择合适的算法。
38 3
|
2月前
|
负载均衡 监控 应用服务中间件
除了 Nginx,还有以下一些常见的负载均衡工具
【10月更文挑战第17天】这些负载均衡工具各有特点和优势,在不同的应用场景中发挥着重要作用。选择合适的负载均衡工具需要综合考虑性能、功能、稳定性、成本等因素。
|
2月前
|
负载均衡 应用服务中间件 nginx
Nginx的6大负载均衡策略及权重轮询手写配置
【10月更文挑战第9天】 Nginx是一款高性能的HTTP服务器和反向代理服务器,它在处理大量并发请求时表现出色。Nginx的负载均衡功能可以将请求分发到多个服务器,提高网站的吞吐量和可靠性。以下是Nginx支持的6大负载均衡策略:
168 7
|
2月前
|
负载均衡 算法 Java
腾讯面试:说说6大Nginx负载均衡?手写一下权重轮询策略?
尼恩,一位资深架构师,分享了关于负载均衡及其策略的深入解析,特别是基于权重的负载均衡策略。文章不仅介绍了Nginx的五大负载均衡策略,如轮询、加权轮询、IP哈希、最少连接数等,还提供了手写加权轮询算法的Java实现示例。通过这些内容,尼恩帮助读者系统化理解负载均衡技术,提升面试竞争力,实现技术上的“肌肉展示”。此外,他还提供了丰富的技术资料和面试指导,助力求职者在大厂面试中脱颖而出。
腾讯面试:说说6大Nginx负载均衡?手写一下权重轮询策略?
|
2月前
|
缓存 负载均衡 算法
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个通用的 TCP/UDP 代理服务器,以及一个邮件代理服务器和通用的 HTTP 缓存服务器。
78 0
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
|
2月前
|
弹性计算 负载均衡 算法
负载均衡如何帮助阿里云国际服务器搭建的网站或应用程序?
负载均衡如何帮助阿里云国际服务器搭建的网站或应用程序?