环境说明
- 我的 nginx 的安装目录在
/usr/local/nginx文件夹,同时./sbin/nginx已经被我添加到了系统路径,不论在任何目录下我都可以直接nginx调用。 - 我的 nginx 通过在官方下载 .tar.gz 的源码包编译安装完成,使用的是 1.16.1 版本,解压后的 nginx-1.16.1 文件夹还在 nginx 的安装目录下放着。
- 在 nginx 安装目录下新建了 modules 文件夹,用来放想要添加的动态模块。
获取echo-nginx-module模块
进入 /usr/local/nginx/modules 后 git clone https://github.com/openresty/echo-nginx-module.git,将模块的内容下载到echo-nginx-module文件夹中/usr/local/nginx/modules/echo-nginx-module/。
重新make nginx-1.16.1
进入 /usr/local/nginx/nginx-1.16.1 这里的nginx-1.16.1目录一般 nginx 安装目录是没有的,我这里会有的原因请见”环境说明“节。
运行./configure --add-module=/usr/local/nginx/modules/echo-nginx-module/
再运行make,但绝对不能make install
用新版nginx替换旧版
备份正在运行的 nginx 的nginx文件:cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
用新 make 出的 nginx 文件将其替换:rm -f /usr/local/nginx/sbin/nginxcp /usr/local/nginx/nginx-1.16.1/objs/nginx /usr/local/nginx/sbin/
此时再在/usr/local/nginx/目录下 ./nginx -V,应该能看到一个--add-module=...的内容,我的 nginx -V结果如下:configure arguments: --with-http_ssl_module --add-module=/usr/local/nginx/modules/echo-nginx-module --with-openssl=/usr/local/ssl
其中有 –add-module=/usr/local/nginx/modules/echo-nginx-module 说明已经成功了
发表回复