Nginx介绍
Nginx是什么
nginx 是一个免费的,开源的,高性能HTTP服务器和反向代理,以及IMAP / POP3代理服务器。NGINX以其高性能,稳定性,丰富的功能集,简单的配置和低资源消耗而闻名。与传统服务器不同的是,Nginx不依赖线程来处理请求,它使用了更加可扩展的异步事件驱动的架构,因此与其他的服务器相比,Nginx可以使用很少的内存来同时处理上千个请求。
netcraft 调查显示,到2019年8月nginx拥有超过31%的计算机市场份额,仅落后于Apache5.39%
Nginx可以做什么
1 基本HTTP服务
- 静态文件处理(如HTML静态网页),处理索引文件以及支持自动个索引
- 打开并自行管理文件描述符缓存
- 提供反向代理服务,并可以使用缓存加速反向代理,同时完成简单的负载均衡及容错
- 提供缘层FastCGI服务缓存机制,加速访问,同时完成简单的负载均衡及容错
- 过滤器功能,Nginx基本过滤器有:gzip压缩、ranges支持、chunked支持、XSTL、SSI、以及图像缩放等
- 支持SSL
2 高级HTTP服务
- 基于名字和IP的虚拟主机设置
- 支持HTTP/1.0中的KEEP-ALIVE模式和PipeLined模型连接
- 支持重新加载配置及升级时无需中断正在处理的请求
- 自定义日志格式、带缓存的日志写操作以及快速日志轮转
- 提供3XX~5XX错误代码重定向功能
- 支持HTTP DAV模块,从而为HTTP WEBDAV提供PUT、DELETE、MKCOL、COPY、以及MOVE方法
- 支持FLV流和MP4传输
- 支持网络监控,基于客户端IP地址和HTTP基本认证机制的访问控制,速率限制,来自同一IP的同时连接数或请求限制等
- 支持Perl语言
邮件代理服务
- 使用外部HTTP认证服务器重定向 到用户的IMAP/POP3后端,并支持IMAP认证方式(LOGIN、AUTH LOGIN/PLAIN/CRAM-MD5)和POP3认证方式(USER/PASS、APOP、AUTH LOGIN/PLIAN/CRAM-MD5)
- 使用外部HTTP认证服务器认证用户后重定向到内部STMP后端,并支持 STMP认证方式
- 支持邮件代理服务下的安全套接层安全协议SSL
- 支持纯文本通信协议的扩展协议STARTTLS
优点
在Nginx之前市面上已经有Apache,tomcat,IIS等服务器 与这些Web服务器相比,Nginx具有高并发,低内存消耗的优势,Nginx在处理静态文件方面比其他服务器要优秀很多。
Nginx的Rewrite功能
地址重写与地址转发
在ngx_http_rewrite_module中 用法:
rewrite regex replacement [flag]
flag 为 last,break,redirect,permanent
~ 大小写敏感 ~* 大小写不敏感
nginx 缓存
Proxy Store, Proxy Cache,基于memcache的缓存机制, Squid联合,第三方模块 ncache
Nginx 内存分配
当申请的内存大于4kb(一页内存的大小)时,该内存空间可用于分配的最大内存数据块不能超过4KB
Nginx服务器架构