网上大部分关于nginx负载均衡集群的教程都是linux环境。如何实现在windows配置nginx实现负载均衡集群
一、 windows上安装nginx
1、下载nginx的windows版本 http://sysoev.ru/nginx/nginx-0.8.50.zip
2、把压缩文件解压至c盘根目录,并将文件夹重命名成nginx
3、在conf目录下的nginx.conf文件中,指定一个不冲突的端口号,这里测试用8088,代码段如下:
- server {
- listen 8088;
- server_name localhost;
- }
4、打开cmd命令行,运行如下命令:
- >cd c:\nginx
- >nginx
好了,试试吧,打开浏览器,输入127.0.0.1:8088,如果出现下图,那就说明nginx服务器已经成功安装.
二、配置nginx负载均衡集群
*物理主机一台,CPU:core2 T5750,2G内存,Windows 7操作系统,IP地址192.168.1.98,主机名sxwgf-PC,该主机用来当作Nginx代理服务器(P)和一台Web服务器(A)
*在物理主机中开一台虚拟主机,Windows Server 2003操作系统,IP地址192.168.1.99,主机名hzdk-vpc,该主机用来当作另一台Web服务器(B)
1、打开conf目录下的nginx.conf,具体配置代码如下:
- worker_processes 1;
- events {
- worker_connections 1024;
- }
- http {
- include mime.types;
- default_type application/octet-stream;
- sendfile on;
- keepalive_timeout 65;
- upstream wgf.com{
- server 192.168.1.98; #真实服务器A(sxwgf-PC)
- server 192.168.1.99; #真实服务器B(hzdk-vpc)
- }
- server { #Nginx代理服务器
- listen 8088;
- server_name localhost;
- location / {
- root html;
- index index.html index.htm;
- proxy_pass http://wgf.com;
- proxy_redirect default;
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
- }
- }
2、重启一下nginx吧,你可以在任务管理器中将原来的两个nginx进程结束然后按前面安装时的方法启动nginx,也可以直接输入命令:nginx -s reload来重启
3、准备两个完全一样的ASP.NET测试网站程序,分别放在主机A和虚拟主机B的IIS中,输入对应的ip地址试一下吧:
输入192.168.1.98
输入192.168.1.99
最后我们再来访问一下我们的nginx代理服务器,看看他能不能让我们访问到真实的服务器A和B,访问结果是每刷新一次就在A和B之间切换,好像我们在轮次访问A和B一样,但我们表面上都是访问的代理服务器127.0.0.1:8088,以下是截图:
刷新一次后:
这样就起到了简单的轮询访问的效果,一定程度上起到了负载分流的作用
至此,windows配置nginx实现负载均衡集群已经完成。