nginx 和 IIS 实现负载均衡 - 章为忠 - 博客园

来源: nginx 和 IIS 实现负载均衡 – 章为忠 – 博客园

Nginx的作用和优点,这里不必多说,今天主要是nginx负载均衡实验,把做的步骤记录下来,作为一个学习笔记吧,也可以给大家做下参考。

  1.Nginx安装
1.下载地址:http://nginx.org/en/download.html

2.解压到后在window的cmd窗口,输入如下图所示的命令,进入到nginx目录,使用“start nginx.exe ”进行nginx的安装,如下图所示:


安装成功后,在“任务管理器”中会看到“nginx.exe”进程。

3.在浏览器地址栏输入:127.0.0.1,会看到nginx欢迎界面。说明Nginx已经安装成功。

  2.站点搭建及配置

1.搭建两个iis站点
新建一个站点下只有一个简单的index页面,将两个站点都部署到本机了,分别绑定了8097和8098两个端口。

2.修改nginx配置信息,nginx的配置信息,都在nginx.conf ,这个文件中配置。

a.修改nginx监听端口,修改http server下的listen节点值
listen 8096;

b.在http节点下添加upstream(服务器集群),server设置的是集群服务器的信息,我这里搭建了两个站点,配置了两条信息。

#服务器集群名称为test.com
upstream test.com {
server 127.0.0.1: 8097;
server 127.0.0.1: 8098;
}

c.在http节点下找到location节点修改

location / {
root html;
index index.aspx index.html index.htm; #修改主页为index.aspx
#其中test.com 对应着upstream设置的集群名称
proxy_pass http:// test.com;
#设置主机头和客户端真实地址,以便服务器获取客户端真实IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

修改完成配置文件之后,重启nginx服务,

  3.运行结果
访问http://localhost:8096/index.aspx

可以看到,我们的请求被分发到了8097站点和8098站点,说明负载均衡搭建成功了。

停掉8098站点,刷新页面,则请求会分发给8097 站点, 说明其中一个站点挂了,只要还有一个站点是好的,系统仍然能够继续提供服务。

  4.session共享

a.使用数据库保存session信息,可以查看本人前一篇文章:数据库实现多站点共享Session

b.使用nginx将同一ip的请求分配到固定服务器,修改如下。ip_hash会计算ip对应hash值,然后分配到固定服务器,(这个还没试验过)

upstream test.com {
server 127.0.0.1: 8097;
server 127.0.0.1: 8098;
ip_hash;
}

c.搭建一台Redis服务器,对session的读取都从该Redis服务器上读取。

 

注意:nginx作为负载均衡服务器时候,无法正常加载css和js这些文件而出现这样的问题,通过一番搜索和查找,修改nginx下的nginx.conf配置文件才得以正常显示,修改的配置如下:

 

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏