<返回更多

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

2020-06-04    
加入收藏

简述

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

Nginx

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

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

常用功能

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

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

 

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

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

 

web缓存

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

配置示例

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

图 1 配置示例

参数说明

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

图 2 参数说明

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;
}
Nginx负载均衡之upstream、server、location参数配置

 

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;
}
Nginx负载均衡之upstream、server、location参数配置

 

location

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

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

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

 

多个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参数配置,看完记得转发、点赞和收藏。如果有错误,欢迎批评指正,感谢。

(云渺书斋)

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>