最近正在研究Nginx,Nginx作为反向代理服务器,可以对Web服务器提供加速,并且具有负载均衡的功能。

     首先我要在官网下载Nginx(http://nginx.org/en/download.html),目前最新稳定的版本为1.0版本,Linux和Windows版本我都下下来了,在两台服务器上做网站负载均衡。

在Windows版本中,将压缩包进行解压,执行命令:




1




​start nginx​




这样就可以启动nginx服务了。而执行命令:





1




​nginx -s stop​




可以停止服务。


这是我在192.168.3.82的IIS服务器上,添加两个站点:

这两个站点分别添加两个文件index.html,两个文件内容分别显示:“这是站点1”,“这是站点2”。

在nginx.conf的配置文件调整相关配置:





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19




​upstream site { ​​​​server 192.168.3.82:8040;​​​​server 192.168.3.82:8041;​​​​} ​


​server {​​​​listen 8080;​​​​server_name 192.168.3.82;​


​#charset koi8-r;​


​#access_log logs/host.access.log main;​


​location / {​​​​root html;​​​​index index.html index.htm;​​​​proxy_pass http:​​​​//site​​​​;​


​}​







1








然后保存文件即可。

接着在运行一次start nginx,当你不断刷新页面的时候,浏览器上就会来回切换这两个站点。

可以发现这里切换是按照1:1的方式来回切换,通过配置文件你可以站点的权重:





1

2

3

4




​upstream  site {  ​​​​     ​​​​server   192.168.3.82:8040 weight=2;​​​​     ​​​​server   192.168.3.82:8041 weight=1;​​​​}​




weight即为对应网站的权重。

可以在Linux上部署你的站点,比如站点3,如果你要把Windows服务器作为反向代理服务器,那么在upstream site添加一个新的站点:



1

2

3

4

5




​upstream  site {  ​​​​     ​​​​server   192.168.3.82:8040 weight=2;​​​​     ​​​​server   192.168.3.82:8041 weight=1;​​​​     ​​​​server   192.168.3.90:8080;​​​​}​




你还可以利用Nginx对反向代理服务器上对静态文件(如JPG,GIF,CSS,JS等等)进行缓存,这样当你需要从Web服务器去请求静态资源的时候,可以直接从反向代理服务器上取得本地的一个资源,这样减少了对Web服务器的压力。