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
    评论
要在Ubuntu上进行源码编译安装Nginx,你可以按照以下步骤进行操作: 1. 首先,确保你的系统已经更新并安装了必要的依赖项。你可以使用以下命令来更新系统并安装构建所需的工具和库: \[2\] ``` sudo apt-get update sudo apt-get install build-essential sudo apt-get install libtool sudo apt-get install libpcre3 libpcre3-dev sudo apt-get install zlib1g-dev sudo apt-get install libssl-dev ``` 2. 下载Nginx的压缩包,并解压缩: \[2\] ``` # 假设你已经下载了Nginx的压缩包,并将其放在当前目录下 tar -zxvf nginx-x.x.x.tar.gz cd nginx-x.x.x ``` 3. 执行configure命令来配置编译选项和安装路径: \[1\] ``` ./configure --prefix=/usr/local/nginx \ --user=nginx --group=nginx \ --with-http_gzip_static_module \ --with-http_flv_module \ --with-http_ssl_module \ --with-http_realip_module \ --with-http_v2_module \ --with-http_sub_module \ --with-http_mp4_module \ --with-http_stub_status_module \ --with-http_gzip_static_module \ --with-pcre --with-stream \ --with-stream_ssl_module \ --with-stream_realip_module ``` 这个命令将根据你的需求配置Nginx,并指定安装路径为`/usr/local/nginx`。 4. 执行make命令来编译Nginx: \[1\] ``` make ``` 5. 执行make install命令来安装Nginx: \[1\] ``` make install ``` 这将把编译好的Nginx安装到指定的安装路径。 完成以上步骤后,你就成功地在Ubuntu上通过源码编译安装了Nginx。你可以根据需要进行进一步的配置和使用。 #### 引用[.reference_title] - *1* *2* [【UbuntuUbuntu编译安装Nginx](https://blog.csdn.net/weixin_43712023/article/details/123829187)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值