什么是 Nginx?
Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器,Nginx,它的发音为“engine X”,是一个高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。在高连接并发的情况下,Nginx是Apache服务器不错的替代品。
到 2018 年,目前有很多国内网站采用 Nginx 作为 Web 服务器,市场份额(参见:http://news.netcraft.com/archives/category/web-server-survey/ )
Nginx 开源官网:http://nginx.org/
Nginx 商业官网:https://www.nginx.com/
二次开发版:Tengine, OpenResty 二者比较?
特性:
模块化设计,较好的扩展性
高可靠性
支持热部署:不停机更新配置文件,升级版本,更换日志文件
低内存消耗:10000个keep-alive连接模式下的非活动连接,仅需要2.5M内存
event-driven,aio,mmap,sendfile
基本功能:
静态资源的web服务器
http协议反向代理服务器
pop3/imap4协议反向代理服务器
FastCGI(lnmp),uWSGI(python)等协议
模块化(非DSO),如zip,SSL模块
web服务相关的功能:
虚拟主机(server)
支持keep-alive 和管道连接
访问日志(支持基于日志缓冲提高其性能)
url rewirte
路径别名
基于IP及用户的访问控制
支持速率限制及并发数限制
重新配置和在线升级而无须中断客户的工作进程
Memcached的GET 接口
nginx的程序架构
nginx的程序架构:master/worker结构
一个master进程
- 负载加载和分析配置文件、管理worker进程、平滑升级
一个或多个worker进程
- 处理并响应用户请求
缓存相关的进程:
- cache loader:载入缓存对象
- cache manager:管理缓存对象
nginx的功能
静态的web资源服务器html,图片,js,css,txt等静态资源
结合FastCGI/uWSGI/SCGI等协议反向代理动态资源请求
http/https协议的反向代理
imap4/pop3协议的反向代理
tcp/udp协议的请求转发(反向代理)
下一篇: nginx 安装(二)
不错的文章
Nginx详解-服务器集群