您当前的位置:首页 > 计算机 > 服务器 > Nginx

Nginx负载均衡之upstream、server、location参数配置

时间:07-06来源:作者:点击数:

简述

本文主要介绍Nginx负载均衡之upstream、server、location参数配置。

Nginx

Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。

Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。

常用功能

反向代理,代理对象为服务端做代理,使客户端不需要感知服务端的存在,只需要访问代理服务器便可获得想要的结果。实现限流、负载均衡、动静分离等。

负载均衡(Load Balance),是分布式系统中一个非常重要的概念。当访问的服务具有多个实例节点时,需要根据某种“均衡”的策略决定请求发往哪个节点,这个过程就是所谓的负载均衡。多在高并发情况下需要使用。其原理就是将数据流量分摊到多个服务器执行,减轻每台服务器的压力,多台服务器(集群)共同完成工作任务,从而提高了数据的吞吐量。Nginx是一个轻量级、高性能、稳定性高、并发性好的HTTP和反向代理服务器。

web缓存,Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。配合着第三方的ngx_cache_purge,对制定的URL缓存内容可以的进行增删管理。配置示例


图 配置示例

参数说明

upstream

upstream模块主要负责负载均衡的配置,通过默认的轮询调度方式来分发请求到后端服务器。

upstream backend {

server backend1.example.com weight=5;

server backend2.example.com fail_timeout=5s slow_start=30s;

server backend3.example.com resolve;

server backend4.example.com service=http resolve;

server backup1.example.com backup;

server backup2.example.com backup;

}

server

server模块配置是http模块中的一个子模块,用来定义一个虚拟访问主机。

server {

listen 80;

server_name localhost nginx_ip;

root /nginx/www;

index index.php index.html index.html;

charset utf-8;

access_log logs/access.log;

error_log logs/error.log;

}

location

location模块配置在路由访问信息配置中关联到反向代理、负载均衡等等各项功能。

语法规则: location [=|~|~*|^~] /uri/ { … }

多个location优先级:首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

location / {

root /nginx/www;

index index.php index.html index.htm;

}

location ^~ /test {

proxy_pass http://backend;

proxy_redirect off;

proxy_set_header Host $host;

}

location /:表示匹配访问根目录。

root:用于指定访问根目录时,访问虚拟主机的web目录。

index:在不指定访问具体资源时,默认展示的资源文件列表。

ok,以上就是Nginx负载均衡之upstream、server、location参数配置,看完记得转发、点赞和收藏。如果有错误,欢迎批评指正,感谢。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门