Ubuntu下Nginx源码编译

Nginx源码下载地址:

        http://nginx.org/en/download.html

        解压命令 tar -zxvf nginx-1.8.1.tar.gz

        安装依赖库:

        1.PCRE

           # apt-get update
   # apt-get install libpcre3 libpcre3-dev

2.ZLIB

   sudo apt-get install zlib1g-dev
   3.openssl
   sudo apt-get install openssl
然后./configure,后面暂时不用参数,
结果会有
OpenSSL library is not used
sha1 library is not found
这个暂时不影响编译,Makefile能够正常生成。
最后make&&make install,看有没有权限问题,加上sudo就行
最后nginx目录是默认在/usr/local/nginx/下面


编译模块的动态链接库:(需要Nginx1.9以上版本支持)

./configure --add-dynamic-module=/opt/source/ngx_my_module/
$ make -f objs/Makefile modules
或者$ make modules
两个make命令是等价的,其中/opt/source/ngin_my_module/最好填写为绝对路径,不然可能报Nginx error, no config found

最后编译出来,so文件会出现在objs文件夹下面。

要使用so,在nginx.conf开头加上

load_module modules/ngx_my_module.so;

即可。

旧风格的config文件如下

ngx_addon_name=ngx_http_response_module
HTTP_MODULES="$HTTP_MODULES ngx_http_response_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_response_module.c"
新风格如下

ngx_addon_name=ngx_http_response_module

if test -n "$ngx_module_link"; then
    ngx_module_type=HTTP
    ngx_module_name=ngx_http_response_module
    ngx_module_srcs="$ngx_addon_dir/ngx_http_response_module.c"

    . auto/module
else
    HTTP_MODULES="$HTTP_MODULES ngx_http_response_module"
    NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_response_module.c"
fi
新的方式利用“auto/module"脚本来建立许多事物,即新的方式可以用于动态模块和静态模块。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值