iis+nginx如何实现负载均衡

目的:把用户的请求分到各个服务器减轻压力。nginx把监听的端口的请求平均转到布署了网站的服务器。

一、windows上安装nginx

1.官网下载windows版的nginx

目前最新版本为1.13.2

iis+nginx如何实现负载均衡

iis+nginx如何实现负载均衡

2.下载解压后

iis+nginx如何实现负载均衡

3.因为我电脑80端口已经被使用,所以修改配置文件改为监听8080端口

iis+nginx如何实现负载均衡

4.双击主程序运行,可以看到nginx已经在进程里面运行了。

iis+nginx如何实现负载均衡

5.尝试打开 http://localhost:8080/ 出现以下,就说明nginx安装成功了

iis+nginx如何实现负载均衡

二、搭建两个相同站点

1. 网站只有一个主页

public class homecontroller : controller
 {
 // get: home
 public actionresult index()
 {
  list<string> info = new list<string>();
  info.add("服务器名称:" + server.machinename);
  info.add("客户端ip地址:" + (request.userhostaddress=="::1" ? "127.0.0.1":request.userhostaddress));
  info.add("http端口:" + request.url.port);
  viewbag.info = info;
  return view();
 }
 }

2. 因为我的nginx是装在虚拟机里的,现在虚拟机里在iis部署一个站点,端口为:9000

iis+nginx如何实现负载均衡

3.本机布署一个站点,端口为:9001

iis+nginx如何实现负载均衡

三、修改nginx配置文件

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

iis+nginx如何实现负载均衡

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

location / {
root html;
index home/index index.html index.htm; #修改主页为home/index
#其中jq_one 对应着upstream设置的集群名称
proxy_pass http://jq_one;
#设置主机头和客户端真实地址,以便服务器获取客户端真实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;
}

修改后的配置文件:

iis+nginx如何实现负载均衡

3.重启nginx

iis+nginx如何实现负载均衡

输入命令 nginx -s reload 回车

iis+nginx如何实现负载均衡

完成重启

四、验证

尝试访问监听的8080端口,刷新几次看

iis+nginx如何实现负载均衡

iis+nginx如何实现负载均衡

五、把nginx弄成服务,开机启动

1.借助一个小工具winsw

下载简单配置和.net环境两个文件,根据自己环境,这里下的.net4

iis+nginx如何实现负载均衡

然后放到随便一个目录,这里放到和nginx一起,并把两个文件改成相同的名字

iis+nginx如何实现负载均衡

2.修改配置文件

iis+nginx如何实现负载均衡

3.安装服务

iis+nginx如何实现负载均衡

输入命令 myapp.exe install 安装服务

iis+nginx如何实现负载均衡

此时服务中已经有nginx了,然后启动服务即可

iis+nginx如何实现负载均衡

以上就是iis+nginx如何实现负载均衡的详细内容,更多请关注其它相关文章!