Nginx-echo可以在Nginx中用来输出一些信息,是在测试排错过程中一个比较好的工具。它也可以做到把来自不同链接地址的信息进行一个汇总输出。总之能用起来可以给开发人员带来挺大帮助的。下面看看我们如何去安装使用它。

1.下载Nginx-echo

  1. cd /usr/local/nginx-1.12./
  2. wget https://github.com/openresty/echo-nginx-module/archive/v0.60.tar.gz

2.解压下载来的文件

  1. tar zxvf v0..tar.gz

3.查看一下之前安装的模块

  1. /usr/local/nginx/sbin/nginx -V

4.进入以前下载过来的Nginx安装包目录下配置

  1. cd /usr/local/nginx-1.12./
  2. ./configure --add-module=/usr/local/nginx-1.12./echo-nginx-module-0.61 --add-module=/usr/local/nginx-1.12./ngx_image_thumb-master

5.编译安装,如果是升级可以使用make upgrade

  1. make && make install

6.使用echo,以下内容为官方的案例,加了一些自己的理解

  1. #简单输出,看别人日志地址是/hello,我这里测试后不知道为什么一直访问不到,所以加上/
  2. location /hello/ {
  3. echo "hello, world!";
  4. }
  5.  
  6. #$echo_timer_elapsed计时,通过echo_reset_timer执行后开始计算
  7. location /timed_hello/ {
  8. echo_reset_timer;
  9. echo hello world;
  10. echo "'hello world' takes about $echo_timer_elapsed sec.";
  11. echo hiya igor;
  12. echo "'hiya igor' takes about $echo_timer_elapsed sec.";
  13. }
  14.  
  15. #echo_sleep可以等待2.5s后再输出
  16. location /echo_with_sleep/ {
  17. echo hello;
  18. echo_flush; # ensure the client can see previous output immediately
  19. echo_sleep 2.5; # in sec
  20. echo world;
  21. }
  22.  
  23. #在proxy_pass这个地址获得的源代码前后加上指定的内容
  24. location /echo/ {
  25. echo_before_body hello;
  26. echo_before_body world;
  27. proxy_pass $scheme://127.0.0.1:$server_port$request_uri/more;
  28. echo_after_body hiya;
  29. echo_after_body igor;
  30. }
  31.  
  32. #echo_location_async可以异步去访问其他地址,不影响当前函数执行,$echo_timer_elapsed最后输出的值为0
  33. location /main/ {
  34. echo_reset_timer;
  35.  
  36. # subrequests in parallel
  37. echo_location_async /sub1/;
  38. echo_location_async /sub2/;
  39.  
  40. echo "took $echo_timer_elapsed sec for total.";
  41. }
  42. location /sub1/ {
  43. echo_sleep ;
  44. echo hello;
  45. }
  46. location /sub2/ {
  47. echo_sleep ;
  48. echo world;
  49. }
  50.  
  51. #同步执行
  52. location /main/ {
  53. echo_reset_timer;
  54.  
  55. # subrequests in series (chained by CPS)
  56. echo_location /sub1/;
  57. echo_location /sub2/;
  58.  
  59. echo "took $echo_timer_elapsed sec for total.";
  60. }
  61. location /sub1/ {
  62. echo_sleep ;
  63. echo hello;
  64. }
  65. location /sub2/ {
  66. echo_sleep ;
  67. echo world;
  68. }
  69.  
  70. #echo_duplicate 3 "--" 意思是重复3次输出"--"
  71. location /dup/ {
  72. echo_duplicate "--";
  73. echo_duplicate " END ";
  74. echo_duplicate "--";
  75. echo;
  76. }
  77.  
  78. #输出客户端请求的信息
  79. location /echoback/ {
  80. echo_duplicate $echo_client_request_headers;
  81. echo "\r";
  82.  
  83. echo_read_request_body;
  84. echo_request_body;
  85. }
  86.  
  87. #输出querystring、method、body、content等信息
  88. location /multi {
  89. echo_subrequest_async POST '/sub' -q 'foo=Foo' -b 'hi';
  90. echo_subrequest_async PUT '/sub' -q 'bar=Bar' -b 'hello';
  91. }
  92. location /sub {
  93. echo "querystring: $query_string";
  94. echo "method: $echo_request_method";
  95. echo "body: $echo_request_body";
  96. echo "content length: $http_content_length";
  97. echo '///';
  98. }
  99.  
  100. #可以将多个JS合并到一个URL地址输出
  101. # GET /merge?/foo.js&/bar/blah.js&/yui/baz.js will merge the .js resources together
  102. location /merge {
  103. default_type 'text/javascript';
  104. echo_foreach_split '&' $query_string;
  105. echo "/* JS File $echo_it */";
  106. echo_location_async $echo_it;
  107. echo;
  108. echo_end;
  109. }
  110.  
  111. #如果地址为/if/?val=abcd,则输出hit
  112. #参数名为val,参数值以a开头
  113. location /if/ {
  114. set $res miss;
  115. if ($arg_val ~* '^a') {
  116. set $res hit;
  117. echo $res;
  118. }
  119. echo $res;
  120. }

Nginx安装Nginx-echo模块的更多相关文章

  1. 如何查看Nginx安装了哪些模块

    当你要编译安装Nginx时,在你执行完./configure之后,会在这个目录生成一个objs这个目录. 进入objs目录下,会看到有一个ngx_modules.c这个文件,这个文件里都是要编译进Ng ...

  2. Nginx——安装Nginx(二)

    安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. gcc 安装 安装 nginx 需要先将官 ...

  3. nginx安装 nginx: [emerg] getpwnam(“www”) failed 错误

    inux 64系统中安装nginx1.3时如果出现错误:nginx: [emerg] getpwnam(“www”) failed解决方法1:      在nginx.conf中 把user nobo ...

  4. Nginx安装echo模块

    echo-nginx-module 模块可以在Nginx中用来输出一些信息,可以用来实现简单接口或者排错. 项目地址:https://github.com/openresty/echo-nginx-m ...

  5. 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 2 ...

  6. nginx 使用HTTPS协议-SSL证书模块报错解决-附nginx安装 : [emerg] the "ssl" parameter requires ngx_http_ssl_module in nginx.c

    Linux系统下ngnix使用HTTPS协议启动报错: nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_modul ...

  7. 一、Nginx安装手册

    1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有g ...

  8. Nginx安装及配置

    Nginx是一款速度快,功能强大的http以及反向代理服务器,经过简单的配置之后即可以用来托管页面. 不幸的是,和很多其他系统管理工具一样,相关的原理教程和配置说明文档都很少.虽然官方提供了一个wik ...

  9. Nginx编译添加新模块

    目录 一.简介与思路 一.简介与思路 当前适用于nginx已经在安装过了,如果没安装过,直接在编译时候添加模块即可. Nginx主要程序就是nginx这个二进制脚本,只要在编译一个nginx脚本替换掉 ...

  10. 删:Centos 7安装Nginx 1.8

    [CentOS 7] 安装nginx! 首先进行 nginx yum Nginx安装记录 注意:如果用源码安装,nginx配置时需要指定--with-pcer对应的压缩包路径,如果使用二进制安装不需要 ...

随机推荐

  1. Java中循环声明变量方法

    Java循环声明变量 之前想这样做,但是网上一直搜索不到,下面是我的方式 项目中 // 得到需要查询外表的数量,然后分别创建缓存,插入数据多的时候如果编码在缓存里面,就不需要再去查询数据库了.key: ...

  2. 初探linux子系统集之timer子系统(一)

    一般来说要让整个linux系统跑起来,那么一个必须的就是linux的时钟,也就是时间子系统了,这里正好工作需要,那么就研究下linux下的时间子系统了. linux内核必须完成两种主要的定时测量.一个 ...

  3. EBS的性能调优

         metalink    Tuning performance on eBusiness suite (Doc ID 744143.1) 这篇文档描述了如何调查电子商务套件的整体性能下降. ...

  4. UNIX网络编程——使用select函数编写客户端和服务器

    首先看原先<UNIX网络编程--并发服务器(TCP)>的代码,服务器代码serv.c: #include<stdio.h> #include<sys/types.h> ...

  5. jQuery 异步上传插件 Uploadify302 使用 (JavaEE Spring MVC)

    Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.而且是Ajax的,省去了自己写Ajax上传功能的麻烦.不过官方提供的实例时php版本的,本文将详细介绍Uploadify ...

  6. mysql中 REPLACE INTO 和 INSERT INTO 的区别

    mysql中 REPLACE INTO 和 INSERT INTO 的区别 REPLACE INTO 和 INSERT INTO 功能类似,都是像表中插入数据,不同点在于:REPLACE INTO 首 ...

  7. CentOS6 上OpenWRT交叉编译

    目的不是为了编译固件,而是为了一个是编译可执行文件,放倒op的路由器上跑,另一个目的是安装一些开源软件折腾下(例如ss-lib),需要打包成 .ipk 格式 路由设备信息 erya@ERYA:~$ c ...

  8. OJ题:将一个数倒置输出

    题目描述: 输入一个数,假如num = 12345 , 输出 54321,以此类推. 代码实现: ) ; }

  9. 【一天一道LeetCode】#82. Remove Duplicates from Sorted List II

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...

  10. C语言实现万年历

    给出你想知道的年份,便可以计算出该年对应的每个月每个日所对应的星期数,是不是感觉很好玩 ? #include <stdio.h> #include<stdlib.h> long ...