Nginx动态加载模块

参考 http://tengine.taobao.org/document/dso.html

Tengine支持了动态加载模块,个人感觉这使得Nginx这个优秀的设计更加完美,在开发三方模块的时候大大提高了效率。下面举例子如何加载一个三方的模块,加载前面的站点cache一键清除模块(http://www.firefoxbug.com/?p=1985)。

/usr/local/nginx/sbin/dso_tool模块已经把编译成动态库的参数都写好了,只需要调用这个工具就行,参数是源码路径,包含要configure文件。

/usr/local/nginx/sbin/dso_tool -a=/home/nginx_move_domain_cache
或者
/usr/local/nginx/sbin/dso_tool --add-module=/home/node/Tengine/nginx_move_domain_cache

这样会自动生成 ngx_http__module.so 动态库并且dso_tool工具会将其copy到/usr/local/nginx/modules,下面就是配置Nginx。
events {
        use epoll;
        worker_connections  51200;
}

dso {
        load ngx_http_move_domain_cache_module.so;
}

http {
      ....
}

这样就能动态的加载 .so 模块,dso也是一个main级的配置。

标签:Nginx

评论已关闭