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

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

基于Nginx的衍生版服务器Tengine简介是千自学中一篇关于Nginx的文章简介:Tengine是由淘宝网发起的Web服务器项目。它在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.尽可能避免数据拷贝操作。



推荐阅读
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 深入解析:存储技术的演变与发展
    本文探讨了从单机文件系统到分布式文件系统的存储技术发展过程,详细解释了各种存储模型及其特点。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 如何在U8系统中连接服务器并获取数据
    本文介绍了如何在U8系统中通过不同的方法连接服务器并获取数据,包括使用MySQL客户端连接实例的方法,如非SSL连接和SSL连接,并提供了详细的步骤和注意事项。 ... [详细]
  • 本文详细介绍了Android系统的四层架构,包括应用程序层、应用框架层、库与Android运行时层以及Linux内核层,并提供了如何关闭Android系统的步骤。 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • 本文详细介绍了如何使用Heartbeat构建一个高可用性的Apache集群,包括安装、配置和测试步骤。 ... [详细]
  • 直播带货系统中的推流技术详解
    本文介绍了RTMP(实时消息传输协议)及其在直播带货系统中的应用,并详细探讨了带货直播系统的连麦方案,包括服务端合流和客户端合流的优势与劣势。 ... [详细]
  • 2021年Java开发实战:当前时间戳转换方法详解与实用网址推荐
    在当前的就业市场中,金九银十过后,金三银四也即将到来。本文将分享一些实用的面试技巧和题目,特别是针对正在寻找新工作机会的Java开发者。作者在准备字节跳动的面试过程中积累了丰富的经验,并成功获得了Offer。文中详细介绍了如何将当前时间戳进行转换的方法,并推荐了一些实用的在线资源,帮助读者更好地应对技术面试。 ... [详细]
  • Amoeba 通过优化 MySQL 的读写分离功能显著提升了数据库性能。作为一款基于 MySQL 协议的代理工具,Amoeba 能够高效地处理应用程序的请求,并根据预设的规则将 SQL 请求智能地分配到不同的数据库实例,从而实现负载均衡和高可用性。该方案不仅提高了系统的并发处理能力,还有效减少了主数据库的负担,确保了数据的一致性和可靠性。 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
author-avatar
accera_928
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有