Ubuntu下Nginx源码编译

前端之家收集整理的这篇文章主要介绍了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
然后./configure,后面暂时不用参数,
结果会有
OpenSSL library is not used
sha1 library is not found
这个暂时不影响编译,Makefile能够正常生成
最后make&&make install,看有没有权限问题,加上sudo就行
最后Nginx目录是默认在/usr/local/Nginx/下面
sudo apt-get install openssl


编译模块的动态链接库:(需要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_SRCSNGX_ADDON_SRCS $ngx_addon_dir/ngx_http_response_module.c"
新风格如下
=ngx_http_response_module

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

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

猜你在找的Ubuntu相关文章