赞
踩
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
则不用添加直接重启即可,所有模块都会被加载。 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;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。