前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx系列之nginx自我介绍

Nginx系列之nginx自我介绍

作者头像
yxxhero
发布2022-05-31 19:07:13
5120
发布2022-05-31 19:07:13
举报
文章被收录于专栏:DevOps充电宝DevOps充电宝

Nginx系列之nginx自我介绍

Nginx作为日趋流行的Web服务,已无处不在,相信做技术的同学不知道它的人很少。作为高性能web服务,无论是大厂bat、又或者是创业公司,都早已离不开它。那么它到底为何如此神秘,就让我一步步来探索吧!

Nginx[engine x],是一种http和反向代理服务,同时也支持mail代理以及TCP/UDP代理,最初是由lgor Sysoev编写。在很长的一段时间中,它已经支持全世界很多大型网站的稳定运行,这其中就包括bat等诸多大公司。根据Netcraft网站统计显示,截止到2020年五月,nginx已经服务全世界25.62的繁忙网站。并且其占有率逐年攀升。

接下来就从以下几个方面介绍nginx强大之处:

http服务特性

•静态文件服务和配置默认首页自动索引;支持文件描述符缓存;

•利用缓存加速反向代理;支持负载均衡以及容错;

•加速支持FastCGI、uwsgi、SCGI和memcached服务器的缓存;负载平衡和容错;

•针对FastCGI,uwsgi,SCGI以及memcached服务的缓存加速支持以及对负载均衡和容错;

•模块化架构。过滤器包括gzipping,byte ranges,分块响应,XSLT,SSI和图像转换过滤器。如果由代理服务器或FastCGI / uwsgi / SCGI服务器处理单个页面中的包含多个SSI,则可以并行处理;

•SSL以及TLS SNI支持;

•通过加权和基于依赖关系的优先级支持HTTP/2;

•基于域名和基于ip的虚拟主机;

•支持keep-alive和http流水线;

•自定义日志格式、日志写缓冲、快速日志滚动以及syslog日志支持;

•3xx-5xx错误重定向;

•强大的url重写功能;

•逻辑化配置,if支持;

•可根据客户端ip、密码和子请求结果进行访问控制;

•http referer验证;

•支持webDAV协议;

•FLV和MP4流支持;

•限流;

•根据地址对连接数和请求数目进行限制;

•ip地理位置支持;

•A/B测试支持;

•请求镜像支持;

•Perl嵌入式;

•njs脚本语言;

邮件代理服务特性

•可使用外部http认证服务将用户重定向至IMAP和POP3服务;

•可使用外部HTTP身份验证服务器对用户身份验证以及到内部SMTP服务器的连接重定向;

•认证方式:

•POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;

•IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;

•SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;

•SSL支持;

•STARTTLS 和STLS支持;

TCP/UDP代理特性

•TCP和UDP通用代理支持;

•SSL和TLS SNI对TCP支持;

•负载均衡以及容错;

•基于客户端地址进行访问控制;

•根据客户端IP地址创建变量;

•同一客户端地址的并发连接数限制;

•自定义日志格式、日志写缓冲、快速日志滚动以及syslog日志支持;

•ip地理位置支持;

•A/B测试支持;

•njs脚本语言;

体系架构和拓展性

•主master和多worker进程模式;worker进程可运行在非特权模式下;

•灵活且强大的配置;

•无服务中断的配置重载以及二进制升级;

•支持kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), /dev/poll (Solaris 7 11/99+), event ports (Solaris 10), select, 和poll;

•支持各种kqueue特性,包括EV_CLEAR, EV_DISABLE(临时禁用事件)、LOWAT、EV EOF、可用数据数量、错误代码;

•支持各种epoll功能,包括EPOLLRDHUP(Linux 2.6.17 +,glibc 2.8+)和EPOLLEXCLUSIVE(Linux 4.5 +,glibc 2.24+);

•sendfile(FreeBSD 3.1 +,Linux 2.2 +,macOS 10.5 +),sendfile64(Linux 2.4.21+)和sendfilev(Solaris 8 7/01 +)支持;

•File AIO (FreeBSD 4.3+, Linux 2.6.22+);

•DIRECTIO (FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, macOS);

•Accept-filters (FreeBSD 4.1+, NetBSD 5.0+) 和 TCP_DEFER_ACCEPT (Linux 2.4+)支持;

•10,000个不活动的HTTP保持活动的连接仅需约2.5m内存;

•最低限度的数据集复制;

总结

基于以上丰富的特性以及极高的性能,Nginx的流行才是当之无愧的;今天我们知道nginx的用途,那我们如何才能用好nginx以及它的每个特性具体使用方式是什么,待我们下回分解。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps充电宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Nginx系列之nginx自我介绍
    • http服务特性
      • 邮件代理服务特性
        • TCP/UDP代理特性
          • 体系架构和拓展性
            • 总结
            相关产品与服务
            负载均衡
            负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档