你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
主页
问答
课程
插件
活动
发现
专栏
下载
社区统计
积分规则
关于我们
登录
注册
陶辉
订阅
发私信
《深入理解Nginx:模块开发与架构解析》作者 极客时间《Nginx核心知识100讲》讲师
文章数
15
订阅数
197
浏览量
33522
next_upstream
TLS
tcp
Nginx怎样隐藏上游错误?
发表于 2021-02-23 10:04
当上游出错时,作为负载均衡的Nginx可以实时更换Server,在客户端无感知的情况下重新转发HTTP请求。这一功能在Nginx指令中称为next upstream,本文将详细介绍其用法及实现原理。在OSI网络模型中,传输层的TCP协议通过内核提供的系统调用向Nginx反馈错误,表示层的TLS/SSL协议通过openssl库向Nginx返回错误,而应用层的HTTP协议(或者uwsgi、gRPC、CGI、memcached等协议)通过Response的Decode解码流程返回错误。当Nginx能够...
点赞
2
905 次浏览
0 条评论
负载均衡
一致性哈希
最少连接数
深入剖析Nginx负载均衡算法
发表于 2021-02-16 21:02
负载均衡是Nginx的核心应用场景,本文将介绍官方提供的5种负载均衡算法及其实现细节。Nginx提供的Scalability,主要由复制扩展(AKF X轴)和用户数据扩展(AKF Z轴)组成。所谓复制扩展,是指上游Server进程是完全相同的,因此可以采用最少连接数、Round Robin轮询、随机选择等算法来分发流量。所谓用户数据扩展,是指每个上游Server只处理特定用户的请求,对这种场景Nginx提供了支持权重的哈希算法,以及支持虚拟节点的一致性哈希算法。当上游集群规模巨大时,我们必须了解...
点赞
2
1.3k 次浏览
0 条评论
HTTP3
qpack
UDP
深入剖析HTTP3协议
发表于 2021-02-04 15:04
自2017年起HTTP3协议已发布了29个Draft,推出在即,Chrome、Nginx等软件都在跟进实现最新的草案。本文将介绍HTTP3协议规范、应用场景及实现原理。2015年HTTP2协议正式推出后,已经有接近一半的互联网站点在使用它: (图片来自https://w3techs.com/technologies/details/ce-http2)HTTP2协议虽然大幅提升了HTTP/1.1的性能,然而,基于TCP实现的HTTP2遗留下...
点赞
5
2.5k 次浏览
0 条评论
Nginx指令
从通用规则中学习Nginx模块的定制指令
发表于 2020-09-21 10:48
上一篇文章中,我介绍了如何定制属于你自己的Nginx,本文将介绍nginx.conf文件的配置语法、使用方式,以及如何学习新模块提供的配置指令。每个Nginx模块都可以定义自己的配置指令,所以这些指令的格式五花八门。比如content_by_lua_block后跟着的是Lua语法,limit_req_zone后则跟着以空格、等号、冒号等分隔的多个选项。这些模块有没有必然遵循的通用格式呢?如果有,那么掌握了它,就能快速读懂生产环境复杂的nginx.conf文件。其次,我们又该如何学习个性化十足的模...
点赞
5
1.0k 次浏览
0 条评论
进程模型
性能优化
都是事件驱动,为什么Nginx的性能远高于Redis?
发表于 2020-09-16 09:31
谈到Redis缓存,我们描述其性能时会这么说:支持1万并发连接,几万QPS。而我们描述Nginx的高性能时,则会宣示:支持C10M(1千万并发连接),百万级QPS。Redis与Nginx同样使用了事件驱动、异步调用、Epoll这些机制,为什么Nginx的并发连接会高出那么多呢?(本文不讨论Redis分布式集群)这其实是由进程架构决定的。为了让进程占用CPU的全部计算力,Nginx充分利用了分时操作系统的特点,比如增加CPU时间片、提高CPU二级缓存命中率、用异步IO和线程池的方式回避磁盘的阻塞读...
点赞
10
1.4k 次浏览
3 条评论
定制
Nginx模块
Makefile
configure
如何configure定制出属于你的Nginx
发表于 2020-06-24 07:30
上一篇文章中,我介绍了Nginx的特性,如何获取Nginx源代码,以及源代码中各目录的含义。本文将介绍如何定制化编译、安装、运行Nginx。当你用yum或者apt-get命令安装、启动Nginx后,通过nginx -t命令你会发现,nginx.conf配置文件可能在/etc/目录中。而运行基于源码安装的Nginx时,nginx.conf文件又可能位于/usr/local/nginx/conf/目录,运行OpenResty时,nginx.conf又被放在了/usr/local/openresty/...
点赞
7
2.8k 次浏览
1 条评论
静态资源
负载均衡
10分钟快速认识Nginx
发表于 2020-06-08 21:27
Nginx是当下最流行的Web服务器,通过官方以及第三方C模块,以及在Nginx上构建出的Openresty,或者在Openresty上构建出的Kong,你可以使用Nginx生态满足任何复杂Web场景下的需求。Nginx的性能也极其优秀,它可以轻松支持百万、千万级的并发连接,也可以高效的处理磁盘IO,因而通过静态资源或者缓存,能够为Tomcat、Django等性能不佳的Web应用扛住绝大部分外部流量。 但是,很多刚接触Nginx的同学,对它的理解往往失之偏颇,不太清楚Nginx的能力范...
点赞
16
3.0k 次浏览
5 条评论
Nginx核心知识100讲
《Nginx核心知识100讲》课件
发表于 2020-06-03 14:01
PDF课件是放在github上的,地址是https://github.com/russelltao/geektime-nginx 因为github对国内网络不太稳定,有同学在微信群里请我发下课件,干脆我把6个PDF课件放到这篇文章的附件里,需要的同学请下载取用。 Nginx核心知识100讲-第一部分课件.pdf Nginx核心知识100讲-第二部分课件.pdf Nginx核心知识100讲-第三部分课件.pd...
点赞
17
5.0k 次浏览
13 条评论
深入理解Nginx
《深入理解NGINX:模块开发与架构解析》示例代码下载
发表于 2020-05-20 09:11
第三章示例源代码:chapter3第四章示例源代码:chapter4第五章示例源代码:chapter5第六章示例源代码:chapter6
点赞
10
1.5k 次浏览
1 条评论
Stream四层负载均衡
UDP
如何用NGINX实现UDP四层反向代理?
发表于 2020-05-20 09:09
在实时性要求较高的特殊场景下,简单的UDP协议仍然是我们的主要手段。UDP协议没有重传机制,还适用于同时向多台主机广播,因此在诸如多人会议、实时竞技游戏、DNS查询等场景里很适用,视频、音频每一帧可以允许丢失但绝对不能重传,网络不好时用户可以容忍黑一下或者声音嘟一下,如果突然把几秒前的视频帧或者声音重播一次就乱套了。使用UDP协议作为信息承载的传输层协议时,就要面临反向代理如何选择的挑战。通常我们有数台企业内网的服务器向客户端提供服务,此时需要在下游用户前有一台反向代理服务器做UDP包的转发、依...
点赞
12
4.7k 次浏览
3 条评论
1
2
>
陶辉
按Enter键发送
专栏编辑
专栏名称
专栏简介
《深入理解Nginx:模块开发与架构解析》作者 极客时间《Nginx核心知识100讲》讲师
关于我们
NGINX社区介绍
合作伙伴
意见反馈
英雄帖
热门模板
大咖专栏
积分规则
问答
社区统计
条款
服务条款
隐私政策
联系我们
微信公众号
添加小N助手
友情链接
Copyright 公安部网络安全保卫局 All Rights Reserved
京公网安备 11010502047880号
京ICP备05070602号