Nginx不支持动态链接模块,所以安装模块需要将模块代码与Nginx源代码进行重新编译。安装模块的步骤如下:
1、编写模块config文件,这个文件需要放在和模块源代码文件放在同一目录下。文件内容如下:
ngx_addon_name=模块完整名称
HTTP_MODULES="$HTTP_MODULES 模块完整名称"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/源代码文件名"
2、进入Nginx源代码,使用下面命令编译安装
/configure --prefix=安装目录 --add-module=模块源代码文件目录
make
make install
这样就完成安装了,例如,我的源代码文件放在/home/yefeng/ngxdev/ngx_http_echo下,我的config文件为:
ngx_addon_name=ngx_http_echo_mod
HTTP_MODULES="$HTTP_MODULES ngx_http_echo_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_echo_module.c"
编译安装命令为:
/configure --prefix=/usr/local/nginx --add-module=/home/yefeng/ngxdev/ngx_http_echo
make
sudo make install
这样echo模块就被安装在我的Nginx上了,下面测试一下,修改配置文件,增加以下一项配置:
location /echo {
echo "This is my first nginx module!!!";
}
然后用curl测试一下:
curl -i http://localhost/echo