热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于Nginx的衍生版服务器Tengine简介

这篇文章主要介绍了基于Nginx的衍生版服务器Tengine简介,本文讲解了Nginx的特性、Tengine的特性、架构和扩展性等内容,需要的朋友可以参考下

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

Nginx的特性:

1、基本的HTTP服务器特性

1.处理静态文件,索引文件以及自动索引;打开文件描述符缓存;
2.使用缓存加速反向代理;简单负载均衡以及容错;
3.远程FastCGI,uwsgi,SCGI,和memcached服务的缓存加速支持;简单的负载均衡以及容错;
4.模块化的架构。过滤器包括gzip压缩、ranges支持、chunked响应、XSLT,SSI以及图像缩放。在SSI 过滤器中,一个包含多个SSI的页面,如果经由FastCGI或反向代理处理,可被并行处理;
5.支持SSL,TLS SNI。

2、其他的HTTP服务器特性

1.基于名字和IP的虚拟主机;
2.Keep-alive和pipelined连接支持;
3.灵活的配置;
4.重新加载配置以及在线升级时,不需要中断正在处理的请求;
5.自定义访问日志格式,带缓存的日志写操作以及快速日志轮转;
6.3xx-5xx错误代码重定向;
7.重写(rewrite)模块:使用正则表达式改变URI;
8.根据客户端地址执行不同的功能;
9.基于客户端IP地址和HTTP基本认证机制的访问控制;
10.支持验证HTTP referer;
11.支持PUT、DELETE、MKCOL、COPY以及MOVE方法;
12.支持FLV流和MP4流;
13.速度限制;
14.来自同一地址的同时连接数或请求数限制;
15.嵌入Perl语言。

3、邮件代理服务器特性

1.使用外部HTTP认证服务器重定向用户到IMAP/POP3后端;
2.使用外部HTTP认证服务器认证用户后重定向连接到内部SMTP后端;
3.支持的认证方式:
 3.1).POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
 3.2)IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
 3.3)SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;
4.SSL支持;
5.STARTTLS和STLS支持。

Tengine的特性:

1.继承Nginx-1.4.7的所有特性,100%兼容Nginx的配置;
2.动态模块加载(DSO)支持。加入一个模块不再需要重新编译整个Tengine;
3.支持SPDY v3协议,自动检测同一端口的SPDY请求和HTTP请求;
4.流式上传到HTTP后端服务器或FastCGI服务器,大量减少机器的I/O压力;
5.更加强大的负载均衡能力,包括一致性hash模块、会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线;
6.输入过滤器机制支持。通过使用这种机制Web应用防火墙的编写更为方便;
7.支持设置proxy、memcached、fastcgi、scgi、uwsgi在后端失败时的重试次数
8.动态脚本语言Lua支持。扩展功能非常高效简单;
9.支持管道(pipe)和syslog(本地和远端)形式的日志以及日志抽样;
10.支持按指定关键字(域名,url等)收集Tengine运行状态;
11.组合多个CSS、Javascript文件的访问请求变成一个请求;
12.自动去除空白字符和注释从而减小页面的体积
13.自动根据CPU数目设置进程个数和绑定CPU亲缘性;
14.监控系统的负载和资源占用从而对系统进行保护;
15.显示对运维人员更友好的出错信息,便于定位出错机器;
16.更强大的防攻击(访问速度限制)模块;
17.更方便的命令行参数,如列出编译的模块列表、支持的指令等;
18.可以根据访问文件类型设置过期时间;

架构和扩展性(Nginx)

1.一个主进程和多个工作进程,工作进程以非特权用户运行;
2.支持的事件机制:kqueue(FreeBSD 4.1+)、epoll(Linux 2.6+)、rt signals(Linux 2.2.19+)、/dev/poll(Solaris 7 11/99+)、event ports(Solaris 10)、select以及poll;
3.众多支持的kqueue特性包括EV_CLEAR、EV_DISABLE(临时禁止事件)、NOTE_LOWAT、EV_EOF,可用数据的数量,错误代码;
4.支持sendfile(FreeBSD 3.1+, Linux 2.2+, Mac OS X 10.5+)、sendfile64(Linux 2.4.21+)和sendfilev(Solaris 8 7/01+);
5.文件AIO(FreeBSD 4.3+, Linux 2.6.22+);
DIRECTIO (FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, Mac OS X);
6.支持Accept-filters(FreeBSD 4.1+, NetBSD 5.0+)和 TCP_DEFER_ACCEPT(Linux 2.4+);
7.10000个非活跃的HTTP keep-alive连接仅占用约5M内存;
8.尽可能避免数据拷贝操作。


推荐阅读
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • Nginx Buffer 机制引发的下载故障
    Nginx ... [详细]
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
  • 构建LNMP架构平台
    LNMP架构的组成:Linux、Nginx、MySQL、PHP关于NginxNginx与apache的作用一样,都是为了搭建网站服务器,由俄罗斯人lgorsysoev开发,其特点是 ... [详细]
  • LVS-DR直接路由实现负载均衡示例
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • CentOS 7配置SSH远程访问及控制
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 前言对于从事技术的人员来说ajax是这好东西,都会使用,而且乐于使用。但对于新手,开发一个ajax实例,还有是难度的,必竟对于他们这是新东西。leo开发一个简单的ajax实例,用的是 ... [详细]
  • PHP编程能开发哪些应用?
    导读:很多朋友问到关于PHP编程能开发哪些应用的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!本文目录一览: ... [详细]
  • 朱晔的互联网架构实践心得S1E7:三十种架构设计模式(上)【下载本文PDF进行阅读】设计模式是前人通过大量的实践总结出来的一些经验总结和最佳实践。在经过多年的软件开发实践之后,回过头 ... [详细]
  • 现在需要用到php(现在可以用)
    本文目录一览:1、现在在工作中PHP用到的多么? ... [详细]
  • 分布式大型互联网企业架构!
    2019独角兽企业重金招聘Python工程师标准摘要:开发工具1.EclipseIDE:采用Maven项目管理,模块化。2.代码生成: ... [详细]
  • 转瞬即是2015,是该总结一下了。----------------------------------------2014大事件前往梦都跳槽外企脱离单身-------------- ... [详细]
author-avatar
大--Man_815
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有