如何在windows上配置并运行Nginx -- 配置实例篇

来源:互联网 发布:苹果软件免费下载工具 编辑:程序博客网 时间:2024/05/22 15:15
今天是元宵佳节,首先祝大家合家欢乐元宵节快乐

接着昨天的话题,今天我们来具体配置一下Nginx代理服务器,让Nginx能真正为我们的应用服务,提高我们应用的性能。因为涉及到多台主机参与分布式集群,我们采用虚拟机的形式来在一台电脑上模拟多台主机,当然我们不能在这样的环境中来评估系统的整体性能,但作为示例,为了说明问题,虚拟机足矣。

本示例的测试运行环境如下:

  1. 物理主机一台,CPU:core2 T5750,2G内存,Windows 7操作系统,IP地址192.168.1.98,主机名sxwgf-PC,该主机用来当作Nginx代理服务器(P)和一台Web服务器(A)
  2. 在物理主机中开一台虚拟主机,Windows Server 2003操作系统,IP地址192.168.1.99,主机名hzdk-vpc,该主机用来当作另一台Web服务器(B)

现在我们要达到这样一个目标:通过浏览器访问Web服务器A和Web服务器B,由Nginx代理服务器P自动调节A和B的访问压力。好了,现在让我们具体来配置各个服务器吧。

昨天我们安装了Nginx,原文链接。按照昨天的方法启动它吧,如果正确启动,你的任务管理器中会有两个名为nginx的守护进程,确保启动后,进行如下配置

 

 

  1. 找到nginx的解压目录,我这边是c:ginx,打开conf目录下的nginx.conf,具体配置代码如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    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. 我们把实现准备好的一个测试网站分别部署到主机A和主机B的IIS中,其访问地址分别为:192.168.1.98和192.168.1.99,我们来分别访问他们,得到的页面分别为:



  4. 最后我们再来访问一下我们的nginx代理服务器,看看他能不能让我们访问到真实的服务器A和B,访问结果是每刷新一次就在A和B之间切换,好像我们在轮次访问A和B一样,但我们表面上都是访问的代理服务器127.0.0.1:8088,以下是截图:



    刷新一次后:

这样我们就用一个虚拟的ip地址127.0.0.1:8088来动态访问真实服务器A和B,由于是轮次访问,所以减轻了服务器A和B的负担,起到了简单的负载均衡的作用,提高你应用的性能。