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;
}
本文详细介绍了如何在Linux环境下为Nginx安装echo模块,包括下载、配置、编译和安装的全过程。同时,提供了echo模块的基本使用案例,如输出文本、延迟输出和重复输出等。

1585

被折叠的 条评论
为什么被折叠?



