百万并发下的 Nginx 性能优化之道,值得看!!!

2018 年 11 月 6 日 Linux中国

Nginx 很火,火到无论是创业公司,还是 BAT 等一线互联网公司,都会使用Nginx。因为它就像一个万能药,在任何存在性能需求的场合总能找见它的身影。它可以轻松在百万并发连接下实现高吞吐量的 Web 服务,同时诸多应用场景下的问题都可以通过种种 Nginx 模块得以解决,而我们所需的工作量也并不大。

实战出真知。

2010 年初,我在思科第一次使用了 Nginx。那时我们的文档上传下载服务需要做重构,于是我在调研了 Lighthttpd、Nginx 等开源组件后,决定选择 Nginx 重构服务。因为我在阅读完 Nginx 的源码后,被其设计哲学、类 Linux 内核的代码风格所吸引,且模块设计极其稳定,6 年的快速发展也几乎未有何变化。

Nginx 天生就适合在 Linux 服务器上处理百万、千万级的并发连接,而优秀的架构使得它未来不需要重构,所以它的生态圈内的第三方模块长期有效。而长年的发展下日益增多的第三方模块进一步赋能 Nginx,使 Nginx 适用于更多的场景,甚至渗透到 LVS 的领域与 F5 这样的硬件产品竞争!同时,如 OpenResty 或者 Tengine 这样的第三方模块群,进一步发展出了新生态,使 Nginx 的应用进一步向应用防火墙、CDN 等领域扩展。

            

我也经常提醒身边的朋友,学好 Nginx,可以让你在工作中获得立竿见影的效果。

  • 如果你是一个前端工程师,在用 Node.js 写 Web 程序,使用 Nginx 可以让你高效处理静态资源文件;

  • 如果你是一个运维工程师,那么在你有效配置 Nginx 后,可以为公司节省大量的 IT 成本;

  • 如果你是一个后端开发工程师,遇到性能瓶颈时,你完全可以使用 Nginx 的第三方模块或 OpenResty 的 Lua 模块,非常高效地解决你的性能瓶颈。

可在我与 Nginx 打交道的近 10 年里,遇到不少会用却不善用 Nginx 的开发者,就好比你有一把好剑,可你却拿它来砍柴,这是一件很可惜的事情。打个比方,高并发导致多个请求过来,有些开发者会用最繁杂的程序来配置转发,却不知其中还有更轻便更有技巧性的设置。这种情况的发生,时常会让自己开发效率极低,且显得笨拙。

我是谁

我是陶辉,杭州智链达数据有限公司担任 CTO 兼联合创始人,著有《深入理解 Nginx:模块开发与架构解析》一书。

我决定制作这门课解,是因为我的职业经历允许我从体系化的视角重新解读 Nginx。

  • 我早年在华为网管软件中负责网络中间件,这让我对 Nginx 这样的平台及中间件所应用的开发方法有许多共鸣;

  • 后来在腾讯,我开始处理亿级用户海量数据,深度挖掘 Linux 极限性能的过程与 Nginx 非常相似;

  • 在思科时,我大量编写了 Nginx 模块,出版了《深入理解 Nginx:模块开发与架构解析》一书;

  • 在阿里云,我在 ECS 的优化中深入硬件性能的提升,以及对大量服务器构成的集群做架构设计,这使得我可以在更深的视角看待 Nginx;

  • 在杭州智链达数据有限公司,我更关注在如何有限的团队规模下,使用 Nginx 来保持开发效率,以提供高可用性。

但网络上关于 Nginx 的使用介绍非常多,但往往有两个问题:

  1. 仅从如何使用层面介绍,没有把离散的知识点串成线,这导致大家难以应对未出现过的、个性化的定制场景;

  2. 没有成体系的性能优化知识介绍,在企业生产环境下我们需要从应用到系统的完整优化方案。

因此,我相信在“如何学好 Nginx”这件事上,我可以给你系统的指导,而这十年积累,都浓缩到我在极客时间开设的《Nginx 核心知识 100 讲》视频课程中。

通过这门课,你可以学到什么?

《Nginx 核心知识 100 讲》视频课程共 100 讲,我将结合多年 Nginx 研发经验,为你从 HTTP 应用层的视角、分布式集群的视角、硬件及操作系统内核优化的视角为大家解读 Nginx 的核心知识。我会将 Nginx 的常用知识点、常用模块,在 Nginx 的设计方法论下从请求的处理流程中为大家解读,帮助大家从 Nginx 的初级使用者成长为高阶使用者。

学完这门课,你将彻底明确 Nginx 的能力模型,了解 Nginx 的工作原理,清楚怎样使用 Nginx 搭建出定制化的 Web 服务器或者微服务集群的负载均衡服务,并理解什么样的 API 服务适合用 Nginx 编写,同时清楚如何在 Linux 操作系统上优化 Nginx,使 Nginx 可以轻松应付百万并发连接。

简而言之,你将收获到以下四个方面:

1. 基础知识详解及核心架构剖析

2. 搭建支持百万高并发的 Nginx 服务

3. 从内核优化到源码解读的全方位拆解

4. OpenResty + Nginx 开发实战

只要跟着我学,你就可以把关于 Nginx 的零零散散的知识点串成一条线,再将网络、操作系统、磁盘等知识与 Nginx 相关知识组成一个知识网,从而可以在工作中灵活运用这些知识和技能,使用 Nginx 最大化地利用好服务器的性能,搭建出更稳定的服务。

订阅福利

福利一限时优惠 ¥68,原价 ¥129(半折优惠哦),11 月 17 日恢复原价;

福利二:每邀请一位好友购买,你可获得 24 元现金返现,多邀多得,上不封顶,随时提现。(提现流程:极客时间 App - 我的 - 分享有赏);

ps:添加此专栏运营 monica 微信号:imonica1010免费获得此课程的 PDF 课件


如何订阅

点击「阅读原文」或下图海报,即可试看或订阅此课程。      

登录查看更多
0

相关内容

Nginx(发音同 engine x)是一款由俄罗斯程序员 Igor Sysoev 所开发轻量级的网页服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器。Nginx相较于 Apache、lighttpd 具有占有内存少,稳定性高等优势,并且依靠并发能力强,丰富的模块库以及友好灵活的配置而闻名。
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
【干货书】现代数据平台架构,636页pdf
专知会员服务
253+阅读 · 2020年6月15日
【IJCAI2020-华为诺亚】面向深度强化学习的策略迁移框架
专知会员服务
27+阅读 · 2020年5月25日
Python导论,476页pdf,现代Python计算
专知会员服务
259+阅读 · 2020年5月17日
【论文扩展】欧洲语言网格:概述
专知会员服务
6+阅读 · 2020年3月31日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
40张PPT,帮你轻松入门Spark大数据!BAT架构师制作!
七月在线实验室
19+阅读 · 2019年5月27日
专访阿里亚顿:Serverless与BFF与前端
前端之巅
45+阅读 · 2019年5月8日
亿级订单数据的访问与存储,怎么实现与优化?
码农翻身
16+阅读 · 2019年4月17日
解读2018:13家开源框架谁能统一流计算?
AI前线
3+阅读 · 2018年12月17日
推荐10个优质科技类公众号!
机器学习算法与Python学习
10+阅读 · 2018年3月22日
[推荐] 这些年,我用过的点击率(CTR)预估模型!!!
菜鸟的机器学习
28+阅读 · 2017年7月31日
Arxiv
24+阅读 · 2020年3月11日
Adversarial Transfer Learning
Arxiv
12+阅读 · 2018年12月6日
Arxiv
8+阅读 · 2018年5月15日
Arxiv
5+阅读 · 2018年4月30日
Arxiv
7+阅读 · 2018年3月19日
Arxiv
5+阅读 · 2017年7月23日
VIP会员
相关VIP内容
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
【干货书】现代数据平台架构,636页pdf
专知会员服务
253+阅读 · 2020年6月15日
【IJCAI2020-华为诺亚】面向深度强化学习的策略迁移框架
专知会员服务
27+阅读 · 2020年5月25日
Python导论,476页pdf,现代Python计算
专知会员服务
259+阅读 · 2020年5月17日
【论文扩展】欧洲语言网格:概述
专知会员服务
6+阅读 · 2020年3月31日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
相关资讯
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
40张PPT,帮你轻松入门Spark大数据!BAT架构师制作!
七月在线实验室
19+阅读 · 2019年5月27日
专访阿里亚顿:Serverless与BFF与前端
前端之巅
45+阅读 · 2019年5月8日
亿级订单数据的访问与存储,怎么实现与优化?
码农翻身
16+阅读 · 2019年4月17日
解读2018:13家开源框架谁能统一流计算?
AI前线
3+阅读 · 2018年12月17日
推荐10个优质科技类公众号!
机器学习算法与Python学习
10+阅读 · 2018年3月22日
[推荐] 这些年,我用过的点击率(CTR)预估模型!!!
菜鸟的机器学习
28+阅读 · 2017年7月31日
相关论文
Arxiv
24+阅读 · 2020年3月11日
Adversarial Transfer Learning
Arxiv
12+阅读 · 2018年12月6日
Arxiv
8+阅读 · 2018年5月15日
Arxiv
5+阅读 · 2018年4月30日
Arxiv
7+阅读 · 2018年3月19日
Arxiv
5+阅读 · 2017年7月23日
Top
微信扫码咨询专知VIP会员