Nginx 启用upstream模块后,location块中的相关参数说明

前言

写这一篇文章之前,一直很头疼一件事。就是nginx需要配置哪些东西,哪些东西需要注意什么。还有就是有关http下面的location块中都有哪些参数可以设置,设置完都能有什么样的效果。这些细节的东西很难用脑袋记住,也并不需要用记住。只需要有一个大体的印象就Ok了,当要用的时候直接查阅就可以。此篇文章就是为了给需要的人查阅,有什么解释不对的地方可以留言沟通。

location具体参数及说明

location / {

        proxy_pass http://itunic;

 #用来定义故障转移策略,当后端服务节点返回 500、 502、 503、504 和执行超时等错误时,自动将请求转发到upstream负载均衡组中的另一台服务器,实现故障转移。
        proxy_next_upstream http_500 http_502 http_503 error timeout invalid_header;

 #禁止重定向
        proxy_redirect off;

 #proxy_set_header设置由后端的服务器获取用户的主机名或真实IP地址,以及代理者的真实IP地址。
        proxy_set_header Host $host:$proxy_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

 # 用于指定客户端请求主体缓冲区大小,可以理解为先保存到本地再传给用户。
        client_body_buffer_size 128k;

 #表示与后端服务器连接的超时时间,即发起握手等候响应的超时时间。一般建议不要超过75s,默认时间60s。
        proxy_connect_timeout 90;

 #表示后端服务器的数据回传时间,即在规定时间之内后端服务器必须传完所有的数据,否则,Nginx将断开这个连接。默认时间60s。
        proxy_send_timeout 90;

 #设置Nginx从代理的后端服务器获取信息的时间,表示连接建立成功后,Nginx等待后端服务器的响应时间,其实是Nginx已经进入后端的排队之中等候处理的时间。默认时间60s。
        proxy_read_timeout 90;

 #设置缓冲区大小,默认该缓冲区大小等于指令proxy_buffers设置的大小。
        proxy_buffer_size 4k;

 #设置缓冲区的数量和大小。Nginx从代理的后端服务器获取的响应信息,会放置到缓冲区。
        proxy_buffers 4 32k;

 #用于设置系统很忙时可以使用的 proxy_buffers 大小, 官方推荐的大小为 proxy_buffers*2。
        proxy_busy_buffers_size 64k;

 #指定 proxy 缓存临时文件的大小。
        proxy_temp_file_write_size 64k;
}

proxy_pass 指令用来指定代理的后端服务器地址和端口, 地址可以是主机名或者 IP 地址, 也可以是通过 upstream 指令设定的负载均衡组名称。

proxy_next_upstream 用来定义故障转移策略, 当后端服务节点返回 500、 502、 503、 504 和执行超时等错误时, 自动将请求转发到 upstream 负载均衡组中的另一台服务器, 实现 故障转移。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在FreeBSD 11.0上安装Git

版本控制系统是现代软件开发中不可或缺的工具。它们允许您在源级别跟踪您的软件。您可以跟踪更改,还原到以前的阶段,然后分支以创建文件和目录的备用版本。

1422
来自专栏LanceToBigData

Maven(一)初识Maven

前言 在这之前一直都有去看关于Maven的相关介绍,但是没有到真正要用的时候,自己总是以为懂了。其实真的感觉Maven并没有想象的那么简单! 那我们该怎么去学习...

2678
来自专栏LanceToBigData

linux(十四)之linux NFS服务管理

学到这里差不多就结束了linux的基础学习了,其实linux的内容并不难,我们要经常的反复的去操作它,多多和它去联络感情才能很好的掌握这个linux。 加油!今...

34410
来自专栏大数据和云计算技术

MongoDB系列11:Munin监控MongoDB

Munin是一个网络资源监控工具,可以帮助分析资源趋势。默认提供了大量的分析图形。以下讲述如何设置MongoDB的Munin监控插件。

1363
来自专栏云计算教程系列

如何在CentOS 7上使用Barman备份,恢复和迁移PostgreSQL数据库

PostgreSQL是一个开源数据库平台,因其易于维护,成本效益以及与其他开源技术的简单集成而广受网络和移动应用程序开发人员的欢迎。

2930
来自专栏架构说

简单的 HTTP 协议

第二章 http特点 主要描述http是无状态(stateless)的协议 发送过的请求或响应都不做持久化处理 HTTP协议自身不对请求和响应之间的通信状态...

3469
来自专栏小樱的经验随笔

一文让你熟练掌握Linux的ncat(nc)命令

ncat 或者说 nc 是一款功能类似 cat 的工具,但是是用于网络的。它是一款拥有多种功能的 CLI 工具,可以用来在网络上读、写以及重定向数据。 它被设计...

1811
来自专栏架构师之路

进程内缓存,究竟怎么玩?

除了常见的redis/memcache等进程外缓存服务,缓存还有一种常见的玩法,进程内缓存。

1273

CentOS上的FirewallD简介

FirewallD是防火墙用于实现持久化网络流量规则的前端控制器。它提供命令行和图形界面,可在大多数Linux发行版中使用。与直接控制iptables相比,使用...

1166
来自专栏Linyb极客之路

Nginx代理功能与负载均衡详解

Nginx的代理功能与负载均衡功能是最常被用到的,关于nginx的基本语法常识与配置已在上篇文章中有说明,这篇就开门见山,先描述一些关于代理功能的配置,再说明负...

1072

扫码关注云+社区