Nginx安装echo模块
2025-01-07 16:38:30
最近接到一个需求,要将到Nginx的请求体打印出来,做日志收集处理。echo-nginx-module
模块可以满足需求。
环境
- CentOS 9
- nginx/1.24.0
- echo v0.61
编译安装
获取包,相关包也可直接在浏览器下载。
1 | wget http://nginx.org/download/nginx-1.24.0.tar.gz |
编译,可能会缺少一些系统依赖,根据报错安装相关依赖。
进入Nginx目录进行编译前配置。
1 | cd nginx-1.24.0 |
进行configure
时出现缺少依赖。
1 | sudo yum groupinstall "Development Tools" -y |
安装好依赖后再进行上面的配置,成功如图。
error 高亮只是软件的问题
编译安装,会安装到之前配置的目录。
1 | make -j2 |
在进行编译时(make -j2
),出现缺少系统文件。是因为一开始使用1.12
版本的Nginx,但是系统是CentOS9,所以选了一个更新的Nginx进行编译,解决该问题。
编译成功如图。
测试echo模块
nginx 添加如下配置。
1 | location / { |
发送请求测试。
1 | curl localhost:80 -d "foo" |
可以看到echo的输出,请求体也成功输出。