Tengine Web服务器概述
Tengine是由淘宝网发起的Web服务器项目。在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。目的是打造一个高效、安全的Web平台。
发展
Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。
最终目标是打造一个高效、稳定、安全、易用的Web平台。
从2011年12月开始,Tengine成为一个开源项目。
由Tengine团队开发和维护。Tengine团队的核心成员来自于淘宝、搜狗等互联网企业。
功能
以下沿引项目主页上的特性介绍:
• 继承Nginx-1.6.2的所有特性,兼容Nginx的配置;
• 动态模块加载(DSO)支持。加入一个模块不再需要重新编译整个Tengine;
• 支持SO_REUSEPORT选项,建连性能提升为官方nginx的三倍;
• 支持SPDY v3协议,自动检测同一端口的SPDY请求和HTTP请求;
• 流式上传到HTTP后端服务器或FastCGI服务器,大量减少机器的I/O压力;
• 更加强大的负载均衡能力,包括一致性hash模块、会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线,以及动态解析upstream中出现的域名;
• 输入过滤器机制支持。通过使用这种机制Web应用防火墙的编写更为方便;
• 支持设置proxy、memcached、fastcgi、scgi、uwsgi在后端失败时的重试次数
• 动态脚本语言Lua支持。扩展功能非常高效简单;
• 支持管道(pipe)和syslog(本地和远端)形式的日志以及日志抽样;
• 支持按指定关键字(域名,url等)收集Tengine运行状态;
• 组合多个CSS、JavaScript文件的访问请求变成一个请求;
• 自动去除空白字符和注释从而减小页面的体积
• 自动根据CPU数目设置进程个数和绑定CPU亲缘性;
• 监控系统的负载和资源占用从而对系统进行保护;
• 显示对运维人员更友好的出错信息,便于定位出错机器;
• 更强大的防攻击(访问速度限制)模块;
• 更方便的命令行参数,如列出编译的模块列表、支持的指令等;
• 可以根据访问文件类型设置过期时间;
• ……
编译
tengine的编译参数与nginx基本一致,针对tengine的新增特性,可以在编译的时候增加一些参数,比如增加“ --with-http_concat_module”这一参数,就可以使将tengine的组合多个访问请求变为一个的功能打开。以下是一段tengine的编译参数实例:
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --with-http_concat_module --with-http_realip_module --with-http_addition_module --with-http_gzip_static_module --with-http_random_index_module --with-http_stub_status_module --with-http_sub_module --with-http_dav_module --with-pcre=/usr/local/src/pcre-8.20
特性详解
CDN Combo
这一功能可以组合Javascript 以及 Css文件
使用方法:
a)以两个问号(??)激活combo
b)多文件之间用半角逗号(,)分开
c)用一个?来辨识时间戳
作用:
遵循Yahoo!前端优化准则第一条:减少HTTP请求发送次数
强制gzip压缩
默认开启的功能
作用:
Tengine会在用户浏览器没有在请求中带Accept-Encoding时通过下列方式判断是否gzip,保证只要支持gzip的浏览器中都会被覆盖到.
a)如果浏览器没有带有Accept-Encoding且cookie中没有gzip支持标识
b)通过User-Agent判断是否支持
c)发送一段js脚本,脚本中请求一个永远都gzip的url
d)如果该段内容被执行,则写入一个cookie值标识此浏览器支持gzip
过载保护
在http{}段添加
sysguard on; sysguard_load load=4 action=/high_load.html; #系统负载,超过设置值了就跳转到action设置的页面
sysguard_mem swapratio=10% action=/mem_high.html #内存负载,超过设置值了就跳转到action设置的页面
作用:
可以在系统超负载时友好提示用户,增强用户体验。
提示:
大家可以通过 top命令来查看当前系统负载,最好是借助第三方工具进行服务器负载监控,进行数天或1个月的监控,分析出准确适合的运营数据后再设置过载保护功能。
修改nginx默认使用的消息模型
添加方法:
在events {}段添加
use epoll;
作用:
使用linux内核最新支持的epoll句柄处理模型,对于大流量的网站这个配置开启提升会非常大。
(注:确定系统内核版本>=2.5.44 最好是2.6+, 查看方式uname -a)
隐藏webServerName
添加方法:
在http{} 段内添加
server_tag off;

server_tag IIS/6.0;
作用:
隐藏真实web服务器名称,防止hacker有针对性的突破
nginx进程设置简化
添加方法:
修改配置文件中的worker_process为以下
worker_processes auto;worker_cpu_affinity auto;
作用:
在不同硬件环境下对于nginx本身的生产进程优化会由webserver自动调整,而无需专业知识进行调优。
扩展4xx,5xx错误提示
添加方法:
在http{} 段内添加
server_info on;server_admin xxx@xxx.xxx;
作用:
展示管理员联系方式以便用户反馈错误
扩展的nginx命令行参数
方法:
切换至
/usr/local/nginx/sbin
列出当前已编译的模块
./nginx -m
列出当前支持的指令
./nginx -l
日志抽样支持
方法:
Example:access_log xxxx ratio=0.01;
作用:
减少日志数量。

Tengine Web服务器概述相关推荐

  1. 网络安全笔记-Web服务器

    Web服务器概述 Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览:可以放置数据文件,让全世界下 ...

  2. 【千峰网安学习】IIS之WEB服务器

    才开始接触网络安全,很多知识欠缺,一边学习一边用博客记录,希望自己能够坚持,可能有的内容掌握不太准确,如果有什么错误的地方还请大家多多指正,虚心接受大家的建议,大家一起加油,侵删~ 系列文章目录 一. ...

  3. 安装web服务器访问站点的三种方式,Web服务器配置方法

    您可能感兴趣的话题: 服务器配置 核心提示:本教程为大家介绍web服务器的配置方法. Web服务器概述 Web服务器又称为WWW服务器,它是放置一般网站的服务器.一台Web服务器上可以建立多个网站,各 ...

  4. web服务器相关基础知识

    快捷键:window+r:注册表 1.Web服务器概述 Web服务器用于: (1)接收客户端的请求 (2)理解请求,找到客户端需要的文件 (3)把客户端请求的文件输出给客户端 Web服务器的分类:   ...

  5. Nginx 外的另一选择,轻量级开源 Web 服务器 Tengine 发布新版本

    2019独角兽企业重金招聘Python工程师标准>>> 新版发布 近日,轻量级开源 Web 服务器 Tengine 发布了2.3.0版本,新增如下特性: ngx_http_proxy ...

  6. 淘宝Web服务器Tengine正式开源

    新闻来源:Tengine邮件列表 我们很高兴的宣布由淘宝网核心系统部开发的Tengine服务器终于正式开源了.淘宝网是亚洲最大的电子商务 网站,Alexa全球排名第12位.每天访问淘宝网的PV超过了几 ...

  7. 淘宝Web服务器Tengine安装

    简介 Tengine是由淘宝网发起的Web服务器项目.它在 Nginx 的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.Tengine的性能和稳定性已经在大型的网站如 淘宝网 , 天猫商城 ...

  8. Day01JavaWeb【Tomcat服务器Servlet入门】Web开发概述

    学习目标 能够描述出浏览器和服务器交互过程 能够解决Tomcat服务器启动时遇到的问题 能够运用Tomcat服务器部署WEB项目 能够使用idea配置tomcat方式发布项目 能够使用ide ...

  9. windows web服务器性能测试工具,Web 性能测试编辑器概述

    Web 性能测试编辑器概述 02/21/2013 本文内容 在记录了 Web 性能测试之后,可以用 Web 性能测试编辑器来编辑所记录的 Web 性能测试.通常,可以使用 Web 性能测试记录器来记录 ...

最新文章

  1. MyEclipse 设置字体
  2. Redis启动多端口,运行多实例(转)
  3. U盘启动盘恢复为普通U盘
  4. boost::geometry::index::detail::segment_intersection用法的测试程序
  5. Python--第4次平时作业
  6. 离线环境下安装pyhanlp
  7. Windows 启动方式总结(转)
  8. 前端常见跨域解决方案
  9. python下载手机版-python3手机版下载
  10. PAIP.在程序中设置壁纸墙纸
  11. plc通讯的握手信号_PLC工程师教你:从原理搞懂RS485串口通讯
  12. kerberos认证下kafka报错Bootstrap broker host:ip (id: -1 rack: null) disconnected
  13. 新建的module没有蓝色小块
  14. shiny | 使用R创建一个网页应用(Web App)
  15. uniapp开发:uniapp之vue3.2开发页面传值的解决方案
  16. 微软的winget包管理器
  17. ubuntu命令行查看dns_linux命令,查看dns服务器的状态,查看dhcp服务器的状态
  18. 5G/NR中RRC的三种状态(idle, active, inactive)
  19. 前端 数组转字符串,字符串转数组
  20. Java毕设项目:房屋租赁管理系统(java+SSM+Maven+Mysql+Jsp)

热门文章

  1. 2022-2028年中国共享住宿行业深度调研及投资前景预测报告
  2. 2022-2028年中国氢化环氧树脂产业发展动态及投资趋势预测报告
  3. 【置顶】利用 NLP 技术做简单数据可视化分析教程(实战)
  4. javascript的知识总结
  5. transformer bert seq2seq 深度学习 编码和解码的逻辑-重点
  6. ImportError: DLL load failed: 找不到指定的模块。 TensorFlow 1.13
  7. GOF23设计模式(创建型模式)建造者模式
  8. Pass算子python 函数
  9. 2021年大数据ELK(六):安装Elasticsearch
  10. 山西农业大学c语言答案,第一章C语言及程序设计概述-东北农业大学教务处.doc...