请输入您要查询的百科知识:

 

词条 Tengine
释义

简介

Tengine是由淘宝技术团队开发的Web服务器,Tengine基于Nginx,针对大流量网站需求增加了很多功能特性和性能优化。

2011月12月2日,由淘宝网核心系统部开发的Tengine服务器正式开源。

功能

Tengine主要功能包括:

继承Nginx-1.0.10的所有特性;

组合多个CSS、JavaScript文件的访问请求变成一个请求;

支持管道和syslog形式的日志和抽样;

自动根据CPU数目设置亲缘性;

监控系统的负载和资源占用从而对系统进行保护;

显示对运维人员更友好的出错信息,便于定位出错机器;

更强大的访问速度限制模块;

backtrace模块,程序崩溃的时候可以显示出错的调用栈

编译

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;

作用:

减少日志数量。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/11/16 10:29:13