Nginx + IIS

Nginx + IIS 配置,实现负载均衡

当你的Web应用程序访问量大的时候,一台服务器可能会因为压力过大而无法处理所有的请求。此时,可以增加服务器,采用负载均衡来分担所有的请求。关于Nginx的作用,自行百度了解。总之,在Windows平台下,你可以用它和IIS来实现你的Web应用程序的负载均衡。简单说,就是它会根据几台服务器的空闲程度,将接收到的Web请求分发到相应的服务器进行处理(当然它会选择比较空闲的服务器来处理当前的请求,否则用它有什么意义呢)。接下来,采用两台虚拟机,创建简单的ASP.Net应用程序,使用Nginx+IIS实现负载均衡。

一、环境

Client: Win7 X64, Visual Studio2010, IP:59.78.184.11

Server1: 虚拟机Win7 X64, IIS,Nginx IP:59.78.184.151 开放端口80(Nginx)、8080(IISweb)

Server2:虚拟机Win7 X64, IIS, IP:59.78.184.136 开放端口80(IISWeb)

二、创建ASP.Net应用程序,并发布至两台Server上

VS中创建ASP.Net应用程序,为了测试负载均衡效果,我们只在应用程序中获取当前处理Web请求的Server名。在项目中的Default.aspx.cs文件中写如下代码,Default.aspx页面中放置一个Label控件。

  protected void Page_Load(object sender, EventArgs e)
        {
           HostNameLbl.Text = "UserHostName:" + Request.UserHostName.ToString() + "<br/>UserHostAddress:" + Request.UserHostAddress.ToString()
                + "<br/>Url.Host:" + Request.Url.Host.ToString() + "<br/>Server:" + Server.MachineName.ToString(); ;
        }

接着,生成项目,将项目发布至已经准备好的两台Server中。在Server1的IIS上,创建站点,将路径指向该项目,并将8080端口分配给该站点。(注意,默认站点的端口为80,因为Server1一会需要将80端口给Nginx,所以我们重新给站点一个端口)。防火墙上将8080端口打开。同样的步骤,在Server2上再走一遍(Server2上直接将80端口给新建的站点就可以了)。

三、安装Nginx并进行配置

官网上下载一个Nginx,在Server1的C盘中解压。找到conf文件夹,打开里面的nginx.conf文件。找到http块,往下需要配置的地方:

  1. upstream localhost块,将需要监听的两台服务器IP地址配上去
  2. server块。Nginx监听本地端口配置上
  3. location块。

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
    #                  ‘$status $body_bytes_sent "$http_referer" ‘
    #                  ‘"$http_user_agent" "$http_x_forwarded_for"‘;

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

   upstream localhost{
    server 59.78.184.151:8080;
    server 59.78.184.136:80;
    }

    server {
        listen       80;
        server_name  59.78.184.151;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        #location / {
        #    root   html;
        #    index  index.html index.htm;
        #}
    #my own location
    location / {
        proxy_pass http://localhost;
        proxy_redirect default;
    }

接着启动nginx。

启动:打开cmd,进入Nginx目录,输入nginx.exe回车。此时查看任务管理器中,有两个nginx进程即启动成功。

关闭:打开cmd,进入Nginx目录,输入nginx.exe –s stop回车,即可关闭nginx。如果在此你修改了配置文件,导致nginx无法关闭。cmd上会提示配置文件的哪一行出错,可以追踪到该行去进行相应的修改。

在浏览器中访问我们的应用程序。注意观察Server的值是WIN-KKRTSU3Q756

刷新浏览器,再次查看结果,如下:此时的Server编程了WIN-VM3BU2IPGM4。然而对于用户来说,我并没有察觉到,访问的依旧是Server1的地址。

标签: nginxIIS负载均衡

时间: 2024-10-13 00:12:14

Nginx + IIS的相关文章

windows+nginx+iis+redis+Task.MainForm构建分布式架构 之 (nginx+iis构建服务集群)

本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,由标题就能看出此内容不是一篇分享文章能说完的,所以我打算分几篇分享文章来讲解,一步一步实现分布式架构:下面将先给出整个架构的核心节点简介,希望各位多多点赞: . 架构设计图展示 . nginx+iis构建服务集群 . redis存储分布式共享的session及共享session运作流程 . redis主从配置及Sentinel管理多个Redis集群 . 定时框架Task.MainForm提

使用Nginx+IIS的部署方案实现负载均衡

使用Nginx+IIS的部署方案实现负载均衡 这段时间一直在研究负载均衡问题,用家用电脑搭建了个Nginx+IIS的负载均衡部署,算是个入门级别的说明吧,因为是测试简化版本的部署方案搭建,所以使用的是测试业务.在文章初期我先明确一下问题: 1.负载均衡是什么? 2.为什么使用负载均衡? 3.处理负载均衡还可以有别的优化方案吗? 4.什么时候必须用负载均衡? 下面我依次回答这些问题: 问题1.负载均衡是什么? 百度百科给负载均衡的定义是,负载均衡是建立在现有网络结构之上,它提供了一种廉价有效透明的

nginx+iis、NLB、Web Farm、Web Garden

nginx+iis实现负载均衡 在win2008R2上使用(NLB)网络负载均衡 NLB网路负载均衡管理器详解 [译文]Web Farm和Web Garden的区别?

Windows+Nginx+IIS做图片分布式存储详细步骤

最近几天,一直在学习nginx在windows平台下的使用,为了寻找几种大量图片分布式存储而且有相对简单的存储方案 nginx是一种,还找到一种MongoDB GridFS 这两种方案我还是比较中意的,经过今天的奋斗,终于将nginx做图片分布式存储这个方案的搭建环境建立起来了,GridFS在后续的学习中我也会记录下搭建过程,敬请期待吧. 废话少说,下面就来说一下Windows+Nginx+IIS 如何建立分布式存储结构. 1.  结构总览 逻辑结构: 图1 如图,这是理想的架设,我这次模拟的结

nginx + IIS 反向代理

简化拓扑如图 我们这里只简单为描述原理来说明反向代理的过程 前端nginx反向代理true IIS server nginx反向代理配置代码如下.这里我只摘取其中一server,主要在header头,当后端只有一台IIS服务器且运行多个虚拟主机的时候适用. server { listen 80; server_name site1.cxsz.com; #charset koi8-r; #access_log logs/host.access.log main; location / { prox

nginx+iis实现负载均衡

nginx安装     Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度.新浪.网易.腾讯等. 最新版本的nginx版本为1.9.3,我这下载的是windo

Nginx+IIS+Asp.net+MySQL,MongoDB

最上层:云(虚拟云技术)+安全 Nginx反向代理负载+Web服务器IIS(tomcal)+Asp.net(java)+MySQL(SQLsever,Oracle)关系型数据库集群负载+MongoDB Web服务器负载平衡IIS(tomcal)+Web服务器IIS(tomcal)+Asp.net(java)+MySQL(SQLsever,Oracle)关系型数据库集群负载+MongoDB

Nginx+IIS简单的部署

随着互联网项目用户访问量不断上升,单点web服务器是无法满足大型高并发高负载的业务处理的,为了给web服务器做负载均衡方案,打算采用Nginx搭建负载均衡服务器,把用户请求分配到N个服务器来缓解服务器压力. Nginx简介:    Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器 . Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的Rambler.ru 站点开发的,它已经在该站点运行超过四年多了

Nginx +iis反向代理

一:简介      Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好. 二:此次安装的是一个运行在windows上的反向代理服务器,主要和iis配合使用 直接启动exe文件即可 注意: 文件夹不能