window下nginx配置

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

原来一直以为nginx只能在Linux下搭建,最近查了些资料才恍然大悟,Windows下其实也可以跑nginx。当你的网站访问量越来越高的时候,一台服务器已经没有办法承受流量压力,后果可想而知,怎么办呢?那就增加几台服务器来做负载吧。但当下的硬件设施又是贵得离谱,比如F5,所以这种情况下,免费的nginx成了我们不错的选择,nginx目前好多门户网站与大访问量的网站都在使用做为HTTP服务器,所以nginx是相当优秀的……

实验环境:(2台服务器)

第一台:

系统:Win2003

nginx:nginx/Windows-0.8.32

IP:192.168.0.51

环境:本地

第二台:

系统:Win2003

IP:192.168.0.52

环境:远程

说明:

本次测试,软件nginx放在本地(192.168.0.51),也就是说放在域名绑定的那台服务器,这台服务器的IIS不能使用80端口,因为等一下nginx软件要使用80这个端口。(为了方便,我将本机的hosts文件添加了我要测试的域名192.168.0.51 )

下载nginx的地址如下:

nginx下载:/

下载解压到C:\,把目录名改成nginx

一切准备就绪,开始实验:

No.1:

在本地(192.168.0.51)这台服务器IIS创建一个网站,使用端口为808,如下图:

IIS 网站绑定设置图

No.2:

在远程192.168.0.52的IIS创建一个网站,使用端口为80,如下图:

No.3:

好了,以上已经设置好两台服务器的IIS了,下面配置nginx软件来实现网站负载均衡,打开如下文件:

C:\nginx\conf\nginx.conf

1、找到内容server {

在它的上面加入如下内容:

upstream {

server 192.168.0.51:808;

server 192.168.0.52:80;

}

(这是负载切换使用的服务器网站IP)

2、找到location / {

root html;

index index.html index.htm;

}

把内容更改如下:

location / {

proxy_pass ;

proxy_redirect default;

}

3、找到server {

listen 80;

server_name localhost;

把内容改成如下:

server {

listen 80;

server_name 192.168.0.51;

(这是监听访问域名绑定那台服务器80端口的请求)

好,在这里就这么简单配置好了,下面看下以上3步配置的图:

负载配置图

No.4:

都配置好了,下面启动nginx这软件

进入命令提示符CMD,进入c:\nginx>,输入nginx命令,如下图:

启动nginx

这时候,系统进程有两个nginx.exe进程,如下图:

系统nginx进程

(停止nginx运行输入nginx -s stop 即可)

No.5:

经过以上的配置,现在我们看下负载效果:

在本地(192.168.0.51)这服务器打开IE,输入:http://192.168.0.51

第一次打开网站的结果:

第一次访问网站图

刷新一下网页,出现的结果:

再次访问网站图

OK,测试成功o(∩_∩)o

经过这次测试,可见网站的负载平衡并不是难事。也没有必要另外购买硬件设备。补充一点,nginx软件在linux上跑性能比在windows上跑要好,所以做负载可以用linux跑nginx,.net开发的网站放到windows服务器IIS 上。

如果网站访问量非常大,可以专门用一台服务器跑nginx,其它服务器跑网站程序(几台服务器的程序都是一样的),这样负载就没有太大问题,如果再不行,把网站一些栏目做一个2级域名,2级域名同样做负载,这样就ok 了。

nginx负载均衡基于iphash的session黏贴

web server 2010-10-17 18:07:43 阅读30 评论0 字号:大中小订阅

nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个。

nginx的upstream目前支持的5种方式的分配

1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。upstream backserver {

server 192.168.0.14;

server 192.168.0.15;

}

2、weight

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

upstream backserver {

server 192.168.0.14 weight=10;

server 192.168.0.15 weight=10;

}

3、ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

upstream backserver {

ip_hash;

server 192.168.0.14:88;

server 192.168.0.15:80;

}

4、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

upstream backserver {

server server1;

server server2;

fair;

}

5、url_hash(第三方)

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

upstream backserver {

server squid1:3128;

server squid2:3128;

hash $request_uri;

hash_method crc32;

}

在需要使用负载均衡的server中增加

proxy_pass http://backserver/;

upstream backserver{

ip_hash;

server 127.0.0.1:9090 down; (down 表示单前的server暂时不参与负载)

server 127.0.0.1:8080 weight=2; (weight 默认为1.weight越大,负载的权重就越大) server 127.0.0.1:6060;

server 127.0.0.1:7070 backup; (其它所有的非backup机器down或者忙的时候,请求

backup机器)

}

max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误

相关文档
最新文档