带你了解nginx功能
简介
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务和通用TCP / UDP代理服务器;
 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器和通用TCP / UDP代理服务器;
功能
基本的HTTP服务器功能
- 提供静态和索引文件,自动索引 ;
- 带有缓存的加速反向代理; 负载平衡和容错 ;
- 对FastCGI, uwsgi, SCGI和 memcached 服务器进行缓存的加速支持 ; 负载平衡和容错 ;
- 模块化架构。过滤器包括 gzipping,字节范围,分块响应, XSLT, SSI和图像转换过滤器。如果由代理服务器或FastCGI / uwsgi / SCGI服务器处理单个页面中的多个SSI包含,则可以并行处理;
- SSL和TLS SNI支持;
- 通过加权和基于依赖项的优先级 支持HTTP 2.0。
其他HTTP服务器功能
- 基于名称和基于IP的虚拟服务器;
- 管道连接支持;
- 访问日志格式, 缓冲日志写入, 快速日志循环和 syslog日志 ;
- 3xx-5xx错误代码重定向;
- 重写模块:使用正则表达式更改URI;
- 根据客户地址执行不同的功能 ;
- 基于客户端IP地址,密码(HTTP基本身份验证)和子请求结果的访问控制 ;
- FLV 和 MP4 流媒体;
- 响应率限制 ;
- 限制来自一个地址的同时连接或请求的数量 ;
- 基于IP的地理位置;
- 拆分测试 ;
- 请求镜像 ;
- 嵌入式Perl ;
- njs脚本语言。
邮件代理服务器功能
- 使用外部HTTP 身份验证 服务器 将用户重定向到 IMAP 或 POP3服务器
- 使用外部HTTP 身份验证 服务器的用户身份 验证以及到内部SMTP服务器的连接重定向 ;
- 认证方式:
- POP3:USER / PASS,APOP,AUTH LOGIN / PLAIN / CRAM-MD5;
- IMAP:登录,授权登录/普通/ CRAM-MD5;
- SMTP:AUTH LOGIN / PLAIN / CRAM-MD5;
 
- SSL支持;
- STARTTLS和STLS支持。
TCP / UDP代理服务器功能
- TCP和UDP的通用代理;
- SSL和TLS SNI对TCP的支持;
- 负载平衡和容错 ;
- 基于客户地址的访问控制 ;
- 根据客户地址执行不同的功能 ;
- 限制 来自一个地址的同时连接数 ;
- 访问日志格式, 缓冲日志写入, 快速日志循环和 syslog日志 ;
- 基于IP的地理位置;
- 拆分测试 ;
- njs脚本语言。
架构和可扩展性
- 一个主进程和多个子进程;工作进程可以再任何用户下运行;
- 灵活的配置 ;
- 重新配置 和升级可执行文件,而不会中断客户端服务;
- 支持 kqueue(FreeBSD 4.1 +),epoll(Linux 2.6 +),/ dev / poll(Solaris 7 11/99 +),事件端口(Solaris 10),选择和轮询;
- 支持各种队列功能,包括EV_CLEAR,EV_DISABLE(用于临时禁用事件),NOTE_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 +)支持;
- 文件AIO (FreeBSD 4.3+,Linux 2.6.22+);
- DIRECTIO (FreeBSD 4.4 +,Linux 2.4 +,Solaris 2.6 +,macOS);
- 接受过滤器(FreeBSD 4.1+,NetBSD 5.0+)和TCP_DEFER_ACCEPT(Linux 2.4+) 支持 ;
- 10,000个不活动的HTTP保持活动连接大约需要2.5M内存;
- 数据复制操作保持最少。
适用平台
- FreeBSD 3 — 12 / i386; FreeBSD 5 — 12 / amd64; FreeBSD 11 / ppc;
- FreeBSD 12 / ppc64;
- Linux 2.2-4 / i386;Linux 2.6-5 / amd64; Linux 3-4 / armv6l,armv7l,aarch64,ppc64le;
- Solaris 9 / i386,sun4u; Solaris 10 / i386,amd64,sun4v; Solaris 11 / x86;
- AIX 7.1 / PowerPC;
- HP-UX 11.31 / ia64;
- macOS / ppc,i386,x86_64;
- Windows XP,Windows Server 2003,Windows 7,Windows 10。
带你了解nginx功能的更多相关文章
- Nginx功能展示实验
		Nginx功能展示实验 Nging可以作为反代服务器:也可以作为负载均衡器,并自带根据对后端服务器健康状态检测具有增删服务器的功能:也可以作为纯Web服务器,提供Web服务. 本实验将使用Nginx实 ... 
- VS2013自带的Browser Link功能引发浏览localhost网站时不停的轮询
		浏览localhost网站时候不管你打开那个页面它都会不停的轮询.据悉这是VS2013自带的Browser Link功能,里面用到SignalR机制 什么是Browser Link功能,什么是Sign ... 
- Nginx功能介绍
		Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的. 从2004年发布至今,凭借开元的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也可作 ... 
- Apache 后台服务器(主要处理php及一些功能请求 如:中文url)    Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求)    Lighttpd 图片服务器    总体来说,随着nginx功能得完善将使他成为今后web server得主流。
		Apache 后台服务器(主要处理php及一些功能请求 如:中文url) Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求) Lighttpd 图片服务器 总体来说,随着ngi ... 
- Nginx功能模块汇总
		主要文档 Nginx功能概述.为什么选择Nginx.Nginx安装.常见问题(FAQ).配置符号参考.调试 nginx.优化 Nginx.运行和控制Nginx 核心模块 Nginx事件模块.Nginx ... 
- 使用VS中自带的一键打包功能将我们的ASP.NET Core类库打包并将程序包(类库)发布到NuGet平台上进行管理
		本章将和大家简单分享下如何使用VS中自带的一键打包功能将我们的ASP.NET Core类库打包并将程序包(类库)发布到NuGet平台上进行管理. 一.注册并登录NuGet平台 NuGet官网:http ... 
- 痞子衡嵌入式:一次利用IAR自带CRC完整性校验功能的实践(为KBOOT加BCA)
		大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是利用IAR自带CRC完整性校验功能的一次实践(为KBOOT加BCA). 痞子衡之前写过两篇关于IAR中自带CRC校验功能的文章 < ... 
- Nginx 功能
		本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得,欢迎留言交流. Nginx能做什么 ... 
- nginx功能扩展整理
		0.基本负载均衡配置 编辑/etc/nginx/nginx.conf,加入负载平衡配置: http { upstream tomcat { server localhost:8080; server ... 
- Jmeter4.X -  使用本身自带的脚本录制功能录制脚本
		1.前言 记录对Jmeter评估研究的过程,本文记录使用apache网站提供的原Jmeter使用自带功能进行脚本录制. 本文可用于面向B/S WEB应用测试的工程师熟悉Jmeter使用.章节安排按照脚 ... 
随机推荐
- 读《Simple statistical gradient-following algorithms for connectionist reinforcement learning》论文    提出Reinforce算法的论文
			<Simple statistical gradient-following algorithms for connectionist reinforcement learning>发表于 ... 
- (待续)【转载】         Deep Reinforcement Learning Doesn't Work Yet(这里有一篇深度强化学习劝退文)
			原文: https://www.alexirpan.com/2018/02/14/rl-hard.html ============================================== ... 
- 如何用python做一个简单的小游戏 Pygame
			当然可以!下面是一个简单的Python游戏开发教程,帮助你入门: 安装Pygame库 Pygame是一个Python游戏开发库,可以帮助你创建游戏窗口.绘制图形.处理用户输入等.你可以使用以下命令在命 ... 
- 如何将一个模块文件编译到Linux内核中?
			很多粉丝在群里提问,如何把一个模块文件编译到内核中或者独立变异成ko文件.本文给大家详解讲解. 1. 内核目录 Linux内核源代码非常庞大,随着版本的发展不断增加.它使用目录树结构,并且使用Make ... 
- Ubuntu16.04换成清华大学源
			第一:备份源文件 # 源文件sources.list 在/etc/apt/目录下 # 备份源文件 sudo cp sources.list sources.list.bak 第二步:替换源文件 # 清 ... 
- zabbix 4.0汉化
			一.主机名支持中文 1.在/usr/share/zabbix/include/defines.inc.php文件中修改,大概在1092行(zabbix-4.0),加入中文字符支持, 原始正则: def ... 
- Docker 抓取 buildx 缓存
			有时候由于配置的失误,导致构建了好久的镜像没能推送到云或者保存到本地.而如果重新构建,则可能又要全部重来.其实这时候我们可以导出 buildx 中的缓存到本地文件,再将本地文件导入为镜像.这样可以节省 ... 
- 全网最适合入门的面向对象编程教程:42 Python常用复合数据类型-collections容器数据类型
			全网最适合入门的面向对象编程教程:42 Python 常用复合数据类型-collections 容器数据类型 摘要: 在 Python 中,collections 模块提供了一组高效.功能强大的容器数 ... 
- .net 环境使用 RabbitMQ ,由浅入深 【一】
			最近因为先开发的项目需要用到消息队列,因此捣鼓了一下市面上开源的消息队列. 原本听闻Rocketmq ,一开始用的是 RocketMQ,各种集群搭建完毕,消息发送什么的测试后,,但是结果因为 Rock ... 
- 鸿蒙应用开发:环境搭建(Mac)与项目构建
			 2021年6月2日,华为发布了鸿蒙操作系统-HarmonyOS.它是一款"面向未来".面向全场景(移动办公.运动健康.社交通信.媒体娱乐等)的分布式操作系统.我们要基于Harm ... 
