介绍
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处理请求都是基于模块的,本体核心功能只是根据配置解析请求然后再做分发,我们想要对请求做什么处理就加入什么模块,这样一个模块接一个模块的处理进来的请求,最终得到我们需要的结果再返回给客户端
优化
Nginx的优化主要是基于nginx.conf文件中的属性做修改,所以比较简单,但是由于服务器配置、环境以及所承载的服务的不同,导致配置的属性参数并不一定要按照本文中所给的做修改,最好的建议是根据自己服务器的情况,逐一修改参数并做测试。
- 调整
worker_processes
和worker_connections
参数 - 关闭access.log日志打印
- 使用Gzip压缩
- 缓存静态文件
- TCP Fast Open
优化之前,一定要备份好对应的配置文件