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