Nginx反向代理和负载均衡部署指南


1.        安装

1)         从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包;

2)         解压后复制到部署目录。

 

2.        启动和停止Nginx

Nginx目前只支持命令行操作,操作前先进入Dos命令环境,并进入Nginx部署目录。

1)         启动Nginx:start nginx

2)         停止Nginx:nginx -s stop

3)         修改配置后重启:nginx -s reload

这三个命令可分别做成bat文件,放在部署目录下,方便后续操作。

start nginx.bat文件内容:start nginx

stop nginx.bat文件内容:nginx -s stop

reload nginx.bat文件内容:nginx -s reload

 

3.        反向代理配置

修改部署目录下conf子目录的nginx.conf文件(如nginx-1.5.13\conf\nginx.conf)内容,可调整相关配置。

反向代理配置示例:

location / {

        #设置主机头和客户端真实地址,以便服务器获取客户端真实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;

 

             #禁用缓存

             proxy_buffering off;

 

             #设置反向代理的地址

             proxy_pass http://192.168.1.1;       

      }

代理地址根据实际情况修改。

 

4.        负载均衡配置

nginx 的 upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

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

 

负载均衡配置示例:

upstream backend {

             #ip_hash;

 

             server 192.168.1.251;

             server 192.168.1.252;

             server 192.168.1.247;

         }

 

server {

        listen       80;

        server_name  trffweb;

 

        location / {

 

             #反向代理的地址

             proxy_pass http://backend;     

        }

}

 

Upstream命名和服务器地址根据实际情况修改。

 

5.        完整配置示例

nginx.conf:

 

worker_processes  1;

events {

    worker_connections  1024;

}

 

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

 

    upstream backend {

             #ip_hash;

             server 192.168.1.251;

             server 192.168.1.252;

             server 192.168.1.247;

         }

 

    server {

        listen       80;

        server_name  2;

 

        location / {

        #设置主机头和客户端真实地址,以便服务器获取客户端真实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;

 

             #禁用缓存

             proxy_buffering off;

 

             #反向代理的地址

             proxy_pass http://backend;     

        }

    }

 

}


当然在nginx中,还支持文件缓存,以便于将那些静态文件缓存到本地的nginx服务器上,只不过要修改一下其config文件配置,如下:

    vi nginx.conf

    在文件中的相应节点处输入如下内容:   

  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|html|htm|css)$ {        #指定缓存文件类型
       expires 7d;      #设置浏览器过期时间7天
       root data/nginx_cache/iis;          #静态文件根目录目录(必须对应proxy_temp_path)
       proxy_store on;        #开启缓存机制
       proxy_store_access user:rw group:rw all:rw;       #缓存读写规则
       proxy_temp_path data/nginx_cache/iis;            #存放静态文件的缓存目录
   #    include proxy.conf;          # 外联proxy理的详细配置如proxy_set_header, client_max_body_size .
        if (!-e $request_filename) { 
              proxy_pass http://10.0.2.136;/
        }
   }

     这样就会在data/nginx_cache/iis目前下生成相应的gif,jpg等文件的临时信息,当客户端请求到来时,就会从该目录中检索相应文件绑定之后返回给客户端,以减轻iis服务器和网络带宽的压力。  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值