Nginx 的 Echo 模块 —— echo-nginx-module(转)
Nginx 有个 echo 模块可以用来输出一些简单的信息,例如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
location /hello { echo "hello, world!" ; } location /hello { echo -n "hello, " echo "world!" ; } location /timed_hello { echo_reset_timer; echo hello world; echo "'hello world' takes about $echo_timer_elapsed sec." ; echo hiya igor; echo "'hiya igor' takes about $echo_timer_elapsed sec." ; } location /echo_with_sleep { echo hello; echo_flush; # ensure the client can see previous output immediately echo_sleep 2.5; # in sec echo world; } # in the following example, accessing /echo yields # hello # world # blah # hiya # igor location /echo { echo_before_body hello; echo_before_body world; proxy_pass $scheme: //127 .0.0.1:$server_port$request_uri /more ; echo_after_body hiya; echo_after_body igor; } location /echo/more { echo blah; } # the output of /main might be # hello # world # took 0.000 sec for total. # and the whole request would take about 2 sec to complete. location /main { echo_reset_timer; # subrequests in parallel echo_location_async /sub1 ; echo_location_async /sub2 ; echo "took $echo_timer_elapsed sec for total." ; } location /sub1 { echo_sleep 2; echo hello; } location /sub2 { echo_sleep 1; echo world; } # the output of /main might be # hello # world # took 3.003 sec for total. # and the whole request would take about 3 sec to complete. location /main { echo_reset_timer; # subrequests in series (chained by CPS) echo_location /sub1 ; echo_location /sub2 ; echo "took $echo_timer_elapsed sec for total." ; } location /sub1 { echo_sleep 2; echo hello; } location /sub2 { echo_sleep 1; echo world; } # Accessing /dup gives # ------ END ------ location /dup { echo_duplicate 3 "--" ; echo_duplicate 1 " END " ; echo_duplicate 3 "--" ; echo ; } # /bighello will generate 1000,000,000 hello's. location /bighello { echo_duplicate 1000_000_000 'hello' ; } # echo back the client request location /echoback { echo_duplicate 1 $echo_client_request_headers; echo "\r" ; echo_read_request_body; echo_request_body; } # GET /multi will yields # querystring: foo=Foo # method: POST # body: hi # content length: 2 # /// # querystring: bar=Bar # method: PUT # body: hello # content length: 5 # /// location /multi { echo_subrequest_async POST '/sub' -q 'foo=Foo' -b 'hi' ; echo_subrequest_async PUT '/sub' -q 'bar=Bar' -b 'hello' ; } location /sub { echo "querystring: $query_string" ; echo "method: $echo_request_method" ; echo "body: $echo_request_body" ; echo "content length: $http_content_length" ; echo '///' ; } # GET /merge?/foo.js&/bar/blah.js&/yui/baz.js will merge the .js resources together location /merge { default_type 'text/javascript' ; echo_foreach_split '&' $query_string; echo "/* JS File $echo_it */" ; echo_location_async $echo_it; echo ; echo_end; } # accessing /if?val=abc yields the "hit" output # while /if?val=bcd yields "miss": location ^~ /if { set $res miss; if ($arg_val ~* '^a' ) { set $res hit; echo $res; } echo $res; } |
这个模块不包含在 Nginx 源码中,安装方法:
1. 首先下载模块源码:https://github.com/agentzh/echo-nginx-module/tags
2. 解压到某个路径,假设为 /path/to/echo-nginx-module
3. 使用下面命令编译并安装 Nginx
1
2
3
4
5
6
7
8
9
10
|
$ wget 'http://sysoev.ru/nginx/nginx-1.0.11.tar.gz' $ tar -xzvf nginx-1.0.11. tar .gz $ cd nginx-1.0.11/ # Here we assume you would install you nginx under /opt/nginx/. $ . /configure --prefix= /opt/nginx \ --add-module= /path/to/echo-nginx-module $ make -j2 $ make install |
试试看吧,该模块是国人 @章亦春 开发的。
http://www.oschina.net/question/12_45735?fromerr=jyurMByB
Nginx 的 Echo 模块 —— echo-nginx-module(转)的更多相关文章
- nginx安装第三方模块echo
要使用第三方模块ngx_echo的功能,请重新配置添加到nginx插件中 ##下载第三方模块 wget https://github.com/openresty/echo-nginx-module/a ...
- nginx 安装 lua_nginx_module 模块(nginx——lua 学习笔记1)
插入两个网站: nginx + lua 的OpenResty 开发 跟我学OpenResty(Nginx+Lua)开发目录贴 两个都是 可以根据目录一步步学习的. 1. 版本下载 nginx版本为 n ...
- nginx之echo模块与内置变量
Nginx扩展第三方模块——echo 第三方模块是对nginx的功能扩展,第三方模块需要在编译nginx的时候使用参数--add-module=PATH指定扩展模块的源码包路径给Nginx扩展添加ec ...
- Nginx 编译 echo 模块
Nginx 编译 echo 模块 echo模块下载地址:https://github.com/openresty/echo-nginx-module 查看nginx已经编译的模块, nginx -V ...
- Nginx SPDY Pagespeed模块编译——加速网站载入
在看<Web性能权威指南>的时候,看到了SPDY这货,于是便开始折腾起了这个了,也顺便把pagespeed加了进去. Nginx SPDY 引自百科~~ SPDY(读作“SPeeDY”)是 ...
- Nginx访问限制模块limit_conn_zone 和limit_req_zone配置使用
nginx可以通过limit_conn_zone 和limit_req_zone两个组件来对客户端访问目录和文件的访问频率和次数进行限制,另外还可以善用进行服务安全加固,两个模块都能够对客户端访问进行 ...
- Nginx详解二十三:Nginx深度学习篇之Nginx+Lua开发环境搭建
Nginx+Lua开发环境 1.下载LuaJIT解释器wget http://luajit.org/download/LuaJIT-2.0.2.tar.gztar -zxvf LuaJIT-2.0.2 ...
- Nginx安装echo模块
echo-nginx-module 模块可以在Nginx中用来输出一些信息,可以用来实现简单接口或者排错. 项目地址:https://github.com/openresty/echo-nginx-m ...
- Aliyun OSS Nginx proxy module(阿里云OSS Nginx 签名代理模块)
1.此文章主要介绍内容 本文主要介绍如何利用Nginx lua 实现将阿里云OSS存储空间做到同本地磁盘一样使用.核心是利用Nginx lua 对OSS请求进行签名并利用内部跳转将所有访问本地Ngin ...
随机推荐
- <转>ASP.NET学习笔记之MVC 3 数据验证 Model Validation 详解
MVC 3 数据验证 Model Validation 详解 再附加一些比较好的验证详解:(以下均为引用) 1.asp.net mvc3 的数据验证(一) - zhangkai2237 - 博客园 ...
- UnicodeEncodeError: 'latin-1' codec can't encode character 解决sae flask 中文问题
#encoding=utf-8 #中文编码支持 import MySQLdb from flask import Flask, g, request app = Flask(__name__) app ...
- 全面修复IE,注册IE所有dll
全面修复IE,注册IE所有dll 复制,粘贴到文本文档里,保存成.bat文件,双击运行. rundll32.exe advpack.dll /DelNodeRunDLL32 %systemroot%\ ...
- Java 内省机制
一.内省 内省(Introspector) 是Java 语言对 JavaBean 类属性.事件的一种缺省处理方法.JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的 ...
- Windows主机和Linux虚拟机之间传输文件
如果使用VirtualBox的增强功能, 可以实现两者之间文件相互拖拽. 但某些情况下, 比如增强功能安装遇到难以解决的问题, 或者Linux版本为server版本(例如Ubuntu Server发行 ...
- glib源码安装使用方法
glib库是GTK+和GNOME工程的基础底层核心程序库,是一个综合用途的实用的轻量级的C程序库,它提供C语言的常用的数据结构的定义.相关的处理函数,有趣而实用的宏,可移植的封装和一些运行时机能,如事 ...
- MySQL 关闭子表的外键约束检察
准备: 定义一个教师表.一个学生表:在学生表中引用教师表ID create table teachers(teacherID int not null auto_increment primary k ...
- SQL Server ansi_null_default | ansi_null_dflt_on
先说一下这两个变量是一个意思,只是它们的作用范围不同 alter database dbTest set ansi_null_default on; -- 这个的作用域是整个SQL Server ...
- win7 gsoap与vs2010 c++创建Web Service
---恢复内容开始--- 之前曾经编写过简单的样例,很久没有碰过,发现已经全部忘记,如今又需要重新巩固一下. 首先是下载gsoap,无法访问官方下载页面,只能在网上搜索,找到一个2.8版本存入云盘以防 ...
- css3_note
css3基础 css3选择器 属性选择器 属性选择器基本上IE7+都支持,可以放心的使用,参见caniuse [attr] [attr=val] [attr*=val] [attr^=val] [at ...