Tengine
尹吉欢
欢迎大家关注我的微信公众号‘猿天地’, 猿天地由《Spring Cloud微服务-全栈技术与案例解析》作者尹吉欢创建。 JAVA方向为主(Spring Boot, Spring Cloud,Sharding JDBC,Elastic Job,Mongodb等)。 技术之路很漫长,我们一起前行吧。 作者代码分享GitHub地址:https://github.com/yinjihuan , 个人网站:http://cxytiandi.com/course , 有任何问题或者合作请联系我。微信号:jihuan900
展开
-
四.trim自动去除空白字符和注释从而减小页面的体积
1.描述 该模块用于删除 html , 内嵌 javascript 和 css 中的注释以及重复的空白符。 目前只能处理html格式的页面,js和css只针对于html内嵌的代码,不支持处理单独的js和css页面。2.使用:http, server, location都可以使用 $ vi /usr/local/tengine/conf/nginx.conf原创 2014-10-14 16:01:19 · 2091 阅读 · 0 评论 -
十二.健康检查模块功能(ngx_http_upstream_check_module)
1.描述 该模块可以为Tengine提供主动式后端服务器健康检查的功能。 该模块在Tengine-1.4.0版本以前没有默认开启,它可以在配置编译选项的时候开启: ./configure --with-http_upstream_check_module2.配置 http{ check_shm_size 10M; upstream cl原创 2014-11-25 09:08:57 · 2885 阅读 · 0 评论 -
十三.支持设置proxy、memcached、fastcgi、scgi、uwsgi在后端失败时的重试次数
Syntax: fastcgi_upstream_tries numDefault: -Context: http, server, locatioon限制fastcgi代理的后端尝试次数。Syntax: proxy_upstream_tries numDefault: -Context: http, server, locatioon限制proxy代理原创 2014-11-25 09:09:40 · 1879 阅读 · 0 评论 -
十四.backtrace模块,程序崩溃的时候可以显示出错的调用栈(ngx_http_backtrace_module)
Syntax: backtrace_log log_pathDefault: backtrace_log error.logContext: main设置backtrace log的名字,如果log_path以'/'开头,则将会是绝对路径,否则将会放入nginx安装目录的conf文件夹下。比如: backtrace_log test.logSyntax:原创 2014-11-25 09:10:02 · 1607 阅读 · 0 评论 -
十七.HTTP核心模块(ngx_http_core_module)
Syntax: client_body_buffers number sizeDefault: 16 4k/8kContext: http, server, location当不缓存上传的请求body到磁盘时,指定每块缓存块大小和数量。所有的缓存块都保存在内存中,并且是按需分配的。默认情况下,缓存块等于系统页的大小。总缓存大小必须大于client_body_postpone_siz原创 2014-12-22 16:54:03 · 2046 阅读 · 0 评论 -
十九.支持按指定关键字(域名,url等)收集Tengine运行状态(ngxhttpreqstat_module)
1.描述 这个模块计算定义的变量,根据变量值分别统计Tengine的运行状况。 可以监视的运行状况有:连接数、请求数、各种响应码范围的请求数、输入输出流量、rt、upstream访问。 可以指定获取所有监控结果或者一部分监控结果。2.示例 http { req_status_zone server "$host,$server_addr:$server原创 2014-12-22 16:55:31 · 2741 阅读 · 0 评论 -
十八.监控系统的负载和资源占用从而对系统进行保护(ngx_http_sysguard_module)
当swap的剩余百分比,剩下的内存,load值到设定的值时,就会跳转到action所指定的url。 server { sysguard on; sysguard_load load=10.5 action=/loadlimit; sysguard_mem swapratio=20% action=/swaplimit;原创 2014-12-22 16:54:37 · 1361 阅读 · 0 评论 -
二十.stub_status模块功能(ngx_http_stub_status_module)
1.描述 增加对每请求的响应时间的统计:在stub status模块中增加了自Tengine启动以来所有请求的总响应时间(request_time), 单位为ms,可以用来统计一段时间的平均RT(response time): Active connections: 1 server accepts handled requests request_time 1140原创 2014-12-22 16:56:20 · 2768 阅读 · 0 评论 -
十五.headers模块功能(ngx_http_headers_module)根据Content-Type来设置过期时间
语法:Syntax: expires_by_types [[modified] time | @time-of-day | epoch | max | off] content-type1 [content-type2] [content-type3] ...Default: -Context: http, server, location原创 2014-12-09 16:39:53 · 2120 阅读 · 0 评论 -
十.长连接超时设置(ngx_http_upstream_keepalive_module)
1.配置 upstream backend { server 127.0.0.1:8080; keepalive 32; keepalive_timeout 30s; # 设置后端连接的最大idle时间为30s } 该指令设置后端长连接的最大空闲超时时间,参数的时间单位可以是s(秒),ms(毫秒),m(分钟)。默认时间单原创 2014-11-06 13:41:42 · 2098 阅读 · 0 评论 -
十一.自动根据CPU数目设置进程个数和绑定CPU亲缘性
1.为worker_processes增加参数auto。当设置成auto,tengine将自动启动与cpu数量相同的worker进程。 worker_processes auto2.为worker_cpu_affinity增加参数auto和off。当设置成auto时,tengine将根据worker的数量自动配置cpu绑定位图。 绑定的顺序是按CPU编号从大到小。 如果wo原创 2014-11-06 13:42:17 · 1886 阅读 · 0 评论 -
六.Tengine的footer模块(ngx_http_footer_filter_module),主机信息调试
六.Tengine的footer模块(ngx_http_footer_filter_module),主机信息调试1.描述 显示对运维人员更友好的出错信息,便于定位出错机器。2.配置 $ vi /usr/local/tengine/conf/nginx.conf location / { footer ""; in原创 2014-10-24 17:40:02 · 1437 阅读 · 0 评论 -
五.Tengine错误信息提示
1.便于定位用户反馈的4xx和5xx错误 http{ server_info on; server_admin shudu@taobao.com; } 执行curl http://192.168.2.200/kk 结果如下: URL: http://192.168.2.200/kk Server: ubuntu-200 Admi原创 2014-10-24 17:39:19 · 1753 阅读 · 0 评论 -
一.安装tengine
一.安装tengine1.下载tengine源码 http://tengine.taobao.org/download_cn.html2.进入到解压后的目录(/home/jihuan/tengine-2.0.3),执行 $ cd /home/jihuan/tengine-2.0.3 $ ./configure #./configure --prefix=原创 2014-10-10 09:22:49 · 1239 阅读 · 0 评论 -
二.动态模块加载(DSO)支持
1.描述: 这个模块主要是用来运行时动态加载模块,而不用每次都要重新编译Tengine. 如果你想要编译官方模块为动态模块,你需要在configure的时候加上类似这样的指令(--with-http_xxx_module),./configure --help可以看到更多的细节. 如果只想要安装官方模块为动态模块(不安装Nginx),那么就只需要configure之后原创 2014-10-10 09:27:14 · 4166 阅读 · 0 评论 -
七.Server头的伪装
1.描述 自定义设置HTTP响应的server头,‘off’可以禁止返回server头。如果什么都不设置,就是返回默认Nginx的标识。2.配置 $ vi /usr/local/tengine/conf/nginx.conf server{ server_tag Apache/2.2.21 } 这样返回的头就被成功伪装了原创 2014-10-30 12:16:10 · 1326 阅读 · 0 评论 -
八.Nginx命令行参数的增加
1.列出已经编译的模块 $ /usr/local/tengine/sbin/nginx -m 2.列出支持的指令 $ /usr/local/tengine/sbin/nginx -l 3. 输出配置文件的全部内容,支持include的内容 $ /usr/local/tengine/sbin/nginx -d原创 2014-10-30 12:15:52 · 1199 阅读 · 0 评论 -
三.组合多个CSS、JavaScript文件的访问请求变成一个请求(ngx_http_concat_module)
1.该模块类似于apache中的mod_concat模块,用于合并多个文件在一个响应报文中。 默认安装tengine的时候是不安装http_concat_module的,需要重新install一下,还是使用tengine的源代码。2.进入到/home/jihuan/tengine-2.0.3,执行 $ cd /home/jihuan/tengine-2.0.3 $ .原创 2014-10-14 15:58:22 · 2126 阅读 · 0 评论 -
九.变量
$conn_requests当前请求在长连接上的序号$dollar表示美元符号本身$request_time_msec请求处理时间,单位是毫秒,用于log_format中$request_time_usec请求处理时间,单位是微秒,用于log_format中$unix_time当前时间戳,其值为1970年1月1日以来的秒数原创 2014-11-06 13:40:04 · 1154 阅读 · 0 评论 -
十六.更强大的防攻击(访问速度限制)模块,对Nginx的limit_req增强
1.白名单支持 Syntax: limit_req_whitelist geo_var_name=var_name geo_var_value=var_valueDefault: -Context: http, server, location表示白名单,要协同geo模块进行工作,其中geo_var_name表示geo模块设置的变量名,而geo_var_value表示geo原创 2014-12-09 16:40:32 · 2870 阅读 · 0 评论