简述

  1. Nginx相信大家已经很熟悉。

  2. echo-nginx模块(下称为此模块)为国人开发的第三方调试nginx的debug模块。
    所以说此模块的安装需要在编译nginx的时候一起安装,无法在已经完成nginx的安装上再增加此模块。

  3. 若非要在已完成nginx的安装上再增加此模块。建议不要在线上环境安装。毕竟是调试模块。在测试机测试,调试完毕将配置文件再在线上环境使用。详情见:http://www.oschina.net/question/12_45735

安装方法

  1. 下载需要的echo模块
    链接一 wget https://github.com/openresty/echo-nginx-module/archive/v0.60.tar.gz
    链接二 wget https://github.com/openresty/echo-nginx-module/archive/v0.58.tar.gz
    echo-nginx 模块安装 - 图1

  2. 解压
    tar zxvf v0.60.tar.gz
    echo-nginx 模块安装 - 图2

  3. 下载nginx源码
    链接一 wget http://nginx.org/download/nginx-1.10.1.tar.gz
    连接二 wget http://mirrors.sohu.com/nginx/nginx-1.9.5.tar.gz
    echo-nginx 模块安装 - 图3

  4. 解压
    tar -zxvf nginx-1.10.1.tar.gz
    echo-nginx 模块安装 - 图4

  5. 进入nginx源码目录
    cd nginx-1.10.1
    echo-nginx 模块安装 - 图5

  6. 同大多数linux安装软件一样,准备生成 Makefile
    1).先查看下以前装过的模块(命令见常用命令)
    例:
    红线为已安装的模块
    2).增加模块
    将红圈内除去— prefix ,输入新的—prefix,增加–add-module,其他的原样复制

—prefix为nginx安装位置(如果以前装过nginx不建议覆盖到同一目录)
–add-module为需要添加的模块路径,这里添加你的echo-nginx-module路径

原型: ./configure —prefix=nginx-file —add-module=echo-nginx-file
例: ./configure —prefix=/alidata/server/nginx-1.10.1 —add-module=/root/echo-nginx-module-0.60 —user=www —group=www —with-http_stub_status_module —without-http-cache —with-http_ssl_module —with-http_gzip_static_module
echo-nginx 模块安装 - 图6
echo-nginx 模块安装 - 图7

  1. 编译并且安装
    make install
    echo-nginx 模块安装 - 图8
    sbin - 执行文件夹
    logs - log文件夹
    html – 默认www目录
    conf 配置文件夹(conf/nginx.conf 为默认配置文件)

如果按照此例安装完成后再次查看安装的模块(命令见下面),说明安装完成
echo-nginx 模块安装 - 图9

  1. 在conf/nginx.conf文件中的server节点中加入:

    1. server {
    2. listen 9999;
    3. server_name localhost;
    4. root html;
    5. location /echo {
    6. default_type text/html; #使用echo模块输出html需要定义type,否则浏览器就成了下载文件
    7. echo 'hello'; #输出内容,如果下面有其他代码请屏蔽。因echo遇到
    8. }
    9. }

    使用时注意:
    (1).echo命令只能放在url请求中,如果放在url请求外,会报错
    (2).一次url请求,echo 只能打印一行,如果有逻辑判断,且判断成功,则echo会执行判断成功里边的echo,否则执行最后一句echo(此处不一定正确,在测试中发现是此现象)。
    (3).如果echo后边有配置return 或者配置 proxy_pass,则echo的输出会被覆盖,即浏览器无法看到echo的内容,所以先将其他代码屏蔽。
    (4).echo的打印字符查看请在浏览器中查看。

  2. 重启nginx,使用浏览器访问 ip:9999/echo
    echo-nginx 模块安装 - 图10

说明安装成功,如果没有输出hello,请检查安装的模块(nginx -V)是否有echo-nginx-module-0.60,有说明echo模块安装成功。