专栏首页流浪猫的golanglinux 下 nginx 安装echo扩展模块

linux 下 nginx 安装echo扩展模块

nginx 在linux(ubuntu 16.0.4) 安装echo模块

echo 模块可以将nginx 变量的信息输出到网页中。echo 模块对学习nginx 配置文件有很大帮助,对应调试nginx 配置文件中变量特步方便。想要深入学习nginx 配置文件,可以试一下。

  • 下载扩展模块 cd /newhome/nginx/nginx-1.13.0 wget https://github.com/openresty/echo-nginx-module/archive/v0.61.tar.gz tar zvxf v0.61.tar.gz

扩展模块下载到任何位置都是可以的,需要在configure 的过程引用到解压地址

  • nginx源码下的configure和编译 没有源码同学请先下载linux nginx 源码 源码地址 https://nginx.org/en/download.html
    • 第一步 ./configure --add-module=/newhome/nginx/nginx-1.13.0/echo-nginx-module-0.61 或者 ./configure --add-dynamic-module=/newhome/nginx/nginx-1.13.0/echo-nginx-module-0.61

    自定义解压路径替换/newhome/nginx/nginx-1.13.0/。 由于我没有显示指明-–prefix=安装路径,所以nginx会使用默认安装路径/usr/local/nginx 所有文件默认安装路径 nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/local/nginx/sbin/nginx" nginx modules path: "/usr/local/nginx/modules" nginx configuration prefix: "/usr/local/nginx/conf" nginx configuration file: "/usr/local/nginx/conf/nginx.conf" nginx pid file: "/usr/local/nginx/logs/nginx.pid" nginx error log file: "/usr/local/nginx/logs/error.log" nginx http access log file: "/usr/local/nginx/logs/access.log" --add-module是静态添加模块 --add-dynamic-module 是动态添加模块,需要在linux 版本1.19.11以后支持, 可以通过配置文件是否启用该模块 load_module=*.so

    • 第二步 make
    • 第三步 如果想要重新安装请执行make install

    不想执行将编译出来nginx 二进制 则可以用替换的方式。 替换/usr/local/nginx/sbin/下 nginx 二进制 rm -rf /usr/local/nginx/sbin/nginx cp ./objs/nginx /usr/local/nginx/sbin/ ps : 虽然说是重新安装,但是我执行过make install之后,并没有把我的/usr/local/nginx/conf/nginx.conf 替换成新的。 我只改过/usr/local/nginx/conf/nginx.conf配置所有重新安装还是copy对我没有啥影响。后来阅读make install代码是发现 test -f '$(DESTDIR)/usr/local/nginx/conf/nginx.conf' \ || cp conf/nginx.conf '$(DESTDIR)/usr/local/nginx/conf/nginx.conf' cp conf/nginx.conf '$(DESTDIR)/usr/local/nginx/conf/nginx.conf.default' 不是很懂…如果哪位同学明白知道原因可以告诉我…

  • 检验 /usr/local/nginx/sbin/nginx -V
root@VM-0-13-ubuntu:/usr/local/nginx/sbin# ./nginx -V
nginx version: nginx/1.13.0
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 
configure arguments: --add-dynamic-module=/newhome/nginx/nginx-1.13.0/echo-nginx-module-0.61

可以看到--add-dynamic-module=/newhome/nginx/nginx-1.13.0/echo-nginx-module-0.61 动态模块已经被添加上了

  • 如果是 --add-dynamic-module则添加 在nginx.conf 中添加 load_module modules/ngx_http_echo_module.so;表示启用这个模块如果不想启用,则不添加。
  • 如果是 --add-module 则不用添加直接重启即可,所有模块都会被加载。
  • 如果nginx 已经启动,请用./nginx -s stop 停止后,再启动或者别的重启nginx的方式,不要 ./nginx -s reload 重新加载配置文件,否则echo 模块不生效。

echo 模块基本使用

hello world

    location /hello {
     echo hello world;
     echo "hello world";
     echo $request_uri; ##输出请求路径uri
   }

延迟后输出

location /echo_with_sleep {
     echo hello;
     echo_sleep   2.5;  # in sec
     echo world;
   }

重复输出

 location /duphello {
     echo_duplicate 1000 'hello';
   }

处理请求前后加入内容

location = /api/proxy_before_after {
    echo_before_body before;
    proxy_pass http://127.0.0.1:8090;
    echo_after_body after;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • linux 部署golang 项目(直接部署和基于nginx部署)

    linux 上安装golang 项目的方式按照官网的 https://golang.org/doc/install#install(要梯子)的方式,安装go运行...

    地球流浪猫
  • mongodb 学习随笔 及golang 连接mongoDB

    Mogondb 不支持事务。所有有事务要求的需求慎用,比如银行的转账操作慎用,转1个亿美金,因为网络,电力的故障导致交易没有完成,不能回滚,交易无法撤回。所有慎...

    地球流浪猫
  • go语言连接mysql 实现增删改查

    地球流浪猫
  • Dockerfile

    Dockerfile ############################################################ # Dock...

    零月
  • CentOS利用Nginx搭建下载功能服务器

    这篇文章主要介绍了CentOS利用Nginx搭建下载功能服务器,需要的朋友可以参考下

    习惯说一说
  • 如何使用浏览器访问linux本地文件

    配置nginx.conf ,将/usr/local/nginx/conf/nginx.conf替换为以下内容:

    用户5521279
  • Ngin服务学习(3)-yum安装ngi

    cat /etc/redhat-release 查看系统版本 uname -a 查看系统内核详情

    py3study
  • Lnmp中ngxin升级版本的操作过程

    Lnmp中nginx版本升级如何操作?lnmp中的nginx升级版本是蛮重要的一件事情,如果你一直在使用lnmp的话,及时升级到lnmp1.5版本,也要额外查看...

    魏艾斯博客www.vpsss.net
  • 20步打造最安全的Nginx Web服务器(下)

    八、控制缓冲区溢出攻击 编辑nginx.conf,为所有客户端设置缓冲区的大小限制。 vi /usr/local/nginx/conf/nginx.conf ...

    小小科
  • 001.Nginx安装

    CoderJed

扫码关注云+社区

领取腾讯云代金券