Skip to main content

介绍

Nginx

简介

Nginx (engine x) 是一个高性能的HTTP反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东新浪网易腾讯淘宝等。

开局一张图

st=>start: http Request
en=>end: http Response

1=>operation: 根据配置分析请求
2=>operation: 分配到各个worker
3=>operation: 处理模块1 (反向代理)
4=>operation: 处理模块2 (gzip 压缩)
5=>operation: 处理模块n (其他处理)

st->1->2->3->4->5

5->en

概念

  • 基于模块(module)

    大家都知道 Nginx 很小巧,但功能却很多,这都是因为nginx处理请求都是基于模块的,本体核心功能只是根据配置解析请求然后再做分发,我们想要对请求做什么处理就加入什么模块,这样一个模块接一个模块的处理进来的请求,最终得到我们需要的结果再返回给客户端

image-20211215164055686 image-20211215164055686

优化

Nginx的优化主要是基于nginx.conf文件中的属性做修改,所以比较简单,但是由于服务器配置、环境以及所承载的服务的不同,导致配置的属性参数并不一定要按照本文中所给的做修改,最好的建议是根据自己服务器的情况,逐一修改参数并做测试。

  • 调整worker_processesworker_connections参数
  • 关闭access.log日志打印
  • 使用Gzip压缩
  • 缓存静态文件
  • TCP Fast Open

优化之前,一定要备份好对应的配置文件

关于配置文件

📒 学习笔记

🌟 文献收藏: