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

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

//upstream site 就是维护的要访问的站点地址,
upstream site {
server ip1:port1;
server ip2:port2;
}
//nginx要监听的ip地址和端口号,然后将其请求转向到upstream site 中所指定的站点list,并将执行的结果转发给客户端
server {
listen 端口号;
server_name ip地址;
location / {
root html;
index index.html index.htm;

proxy_pass http://site;

}

以上配置是默认随机访问到ip1或者ip2,也可以通过设置权重weight来控制访问地址的比例

upstream  site { 

server ip1:port1 weight=2;

server ip2:port2 weight=1;
}

Nginx 负载均衡的功能是很强的,并且其一般作为七层负载均衡(应用协议层)。下面就其upstream所支持的四个常用设置进行说明: 

1)、轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight :指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
2)、ip_hash :每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
3)、fair(第三方):按后端服务器的响应时间来分配请求,响应时间短的优先分配。 
4)、url_hash(第三方)

 

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

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服务器和网络带宽的压力。  

常用nginx命令

关闭ngnix的命令: nginx -s stop

配置文件ngnix.conf正确性判断的命令: nginx -t