`
david_je
  • 浏览: 373896 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Nginx重新编译

 
阅读更多

        今天在Mac上装了Homebrew后,下载的第一个软件是Nginx服务器,一行命令 brew nginx 就搞定了,真的是很省事。自动下载,编译,启动Nginx后,查看Nginx的加载模块。nginx -V

 

       

configure arguments: --prefix=/Users/david/repo/homebrew/Cellar/nginx/1.6.0_1 --with-http_ssl_module --with-pcre --with-ipv6 --sbin-path=/Users/david/repo/homebrew/Cellar/nginx/1.6.0_1/bin/nginx --with-cc-opt='-I/Users/david/repo/homebrew/Cellar/pcre/8.35/include -I/Users/david/repo/homebrew/Cellar/openssl/1.0.1g/include' --with-ld-opt='-L/Users/david/repo/homebrew/Cellar/pcre/8.35/lib -L/Users/david/repo/homebrew/Cellar/openssl/1.0.1g/lib' --conf-path=/Users/david/repo/homebrew/etc/nginx/nginx.conf --pid-path=/Users/david/repo/homebrew/var/run/nginx.pid --lock-path=/Users/david/repo/homebrew/var/run/nginx.lock --http-client-body-temp-path=/Users/david/repo/homebrew/var/run/nginx/client_body_temp --http-proxy-temp-path=/Users/david/repo/homebrew/var/run/nginx/proxy_temp --http-fastcgi-temp-path=/Users/david/repo/homebrew/var/run/nginx/fastcgi_temp --http-uwsgi-temp-path=/Users/david/repo/homebrew/var/run/nginx/uwsgi_temp --http-scgi-temp-path=/Users/david/repo/homebrew/var/run/nginx/scgi_temp --http-log-path=/Users/david/repo/homebrew/var/log/nginx/access.log --error-log-path=/Users/david/repo/homebrew/var/log/nginx/error.log --with-http_gzip_static_module

 

 

    发现没有DAV模块,查看文档。原来这个模块是默认不加载的,如果需要使用就必须重新编译nginx的源代码。说干就干,这里记录一下编译过程:

    由于使用的时homebrew下载的nginx,所以源代码在/Library/Caches/Homebrew下面,进入目录后找到nginx-1.6.0.tar.gz的压缩包,tar -xvf nginx-1.6.0.tar.gz解开压缩包。进入解压缩的目录,

 

     

drwxr-xr-x  15 david  admin     510 Apr 30 01:40 .
drwxr-xr-x   9 david  admin     306 Apr 30 01:39 ..
-rw-r--r--   1 david  admin  234891 Apr 24 20:52 CHANGES
-rw-r--r--   1 david  admin  357716 Apr 24 20:52 CHANGES.ru
-rw-r--r--   1 david  admin    1397 Apr 24 20:52 LICENSE
-rw-r--r--   1 david  admin     435 Apr 30 01:41 Makefile
-rw-r--r--   1 david  admin      49 Apr 24 20:52 README
drwxr-xr-x  23 david  admin     782 Apr 24 20:52 auto
drwxr-xr-x  11 david  admin     374 Apr 24 20:52 conf
-rwxr-xr-x   1 david  admin    2369 Apr 24 20:52 configure
drwxr-xr-x   6 david  admin     204 Apr 24 20:52 contrib
drwxr-xr-x   4 david  admin     136 Apr 24 20:52 html
drwxr-xr-x   3 david  admin     102 Apr 24 20:52 man
drwxr-xr-x  11 david  admin     374 Apr 30 01:41 objs
drwxr-xr-x   8 david  admin     272 Apr 24 20:52 src

 

 

    可以看到是使用make的,可以使用configure命令来编译。首先来编辑configure的命令,配置是在原来的基础上加上-with-http_dav_module,所以命令如下:

   

  

./configure --prefix=/Users/david/repo/homebrew/Cellar/nginx/1.6.0_1 --with-http_ssl_module --with-pcre --with-ipv6 --sbin-path=/Users/david/repo/homebrew/Cellar/nginx/1.6.0_1/bin/nginx --with-cc-opt='-I/Users/david/repo/homebrew/Cellar/pcre/8.35/include -I/Users/david/repo/homebrew/Cellar/openssl/1.0.1g/include' --with-ld-opt='-L/Users/david/repo/homebrew/Cellar/pcre/8.35/lib -L/Users/david/repo/homebrew/Cellar/openssl/1.0.1g/lib' --conf-path=/Users/david/repo/homebrew/etc/nginx/nginx.conf --pid-path=/Users/david/repo/homebrew/var/run/nginx.pid --lock-path=/Users/david/repo/homebrew/var/run/nginx.lock --http-client-body-temp-path=/Users/david/repo/homebrew/var/run/nginx/client_body_temp --http-proxy-temp-path=/Users/david/repo/homebrew/var/run/nginx/proxy_temp --http-fastcgi-temp-path=/Users/david/repo/homebrew/var/run/nginx/fastcgi_temp --http-uwsgi-temp-path=/Users/david/repo/homebrew/var/run/nginx/uwsgi_temp --http-scgi-temp-path=/Users/david/repo/homebrew/var/run/nginx/scgi_temp --http-log-path=/Users/david/repo/homebrew/var/log/nginx/access.log --error-log-path=/Users/david/repo/homebrew/var/log/nginx/error.log --with-http_gzip_static_module --with-http_dav_module

 

   执行后,在目录里可以看到生成的objs目录,make install编译安装后使用sudo nginx -s reload重新加载nginx服务器后再使用nginx -V查看nginx是否加载了这个模块。

 

   剩下来得就是配置dav的服务,用编辑器打开/Users/david/repo/homebrew/etc/nginx/nginx.conf加入dav服务的配置,可以参考文档:

 

   

location / {
  root     /data/www;
  client_body_temp_path  /data/client_temp;
 
  dav_methods  PUT DELETE MKCOL COPY MOVE;
 
  create_full_put_path   on;
  dav_access             group:rw  all:r;
 
  limit_except  GET {
    allow  192.168.1.0/32;
    deny   all;
  }
}

 

  重启,测试,大功告成。 

分享到:
评论

相关推荐

    添加nginx-http-flv-module模块并重新编译后的nginx(windows版)

    现在我们将深入探讨这一主题,了解如何添加此模块以及Nginx重新编译的过程。 首先,`nginx-http-flv-module`是一个扩展模块,它扩展了Nginx的基本功能,使其能够处理FLV和HLS视频流。这对于在线视频服务提供商来说...

    Nginx重新编译添加模块的方法

    本教程将详细介绍如何在已经安装的Nginx上重新编译并添加缺失的模块。 首先,你需要找到Nginx的源码根目录。如果你没有保留源码,你需要从官方下载最新版本的Nginx源码并解压缩。例如,你可以下载1.10.2版本,将其...

    nginx交叉编译与部署.pdf

    Nginx交叉编译与部署 Nginx交叉编译与部署是指在不同架构的平台上编译和部署Nginx服务器的过程。本文将介绍基于海思3559A对Nginx-1.6.2和OpenSSL-1.0.2的交叉编译过程,并介绍Nginx-1.6.2的环境部署。 一、概述 ...

    nginx交叉编译方法

    本文描述了开源服务 nginx 在 android 操作系统下的交叉编译方法。参照此方法,可以编译出可在 android 系统下运行的 nginx 服务。

    nginx完全编译指南

    Nginx 完整编译指南 Nginx 作为一个流行的 Web 服务器软件,需要与 PHP 和 MySQL5 结合使用,以提供一个完善的 Web 应用程序环境。本文将指导读者从头开始编译 Nginx,包括编译 pcre 库、cache 模块、PHP 和 MySQL5...

    linux系统nginx免编译版本 nginx-1.22.1

    ./configure --prefix=./../nginx-1.22.1 --with-threads --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module

    Openwrt Nginx交叉编译Makefile/nginx.init/patch

    这个压缩包里面包含了在openwrt交叉编译nginx-1.8.0所需要的Makefile和patch。 作为文章http://blog.csdn.net/ping1214/article/details/45397729的附件。

    linux系统nginx免编译版本 nginx-1.24.0

    ./configure --prefix=./../nginx-1.24.0 --with-threads --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module

    nginx1.12.1 arm交叉编译版Linux 3.0.101稳定运行

    nginx交叉编译解压可用版,arm交叉编译版Linux 3.0.101稳定运行。在根目录新建www文件夹,把压缩包放进去,解压,运行nginx_arm/sbin目录下的nginx。./www/nginx_arm/sbin/nginx或直接在sbin目录下./nginx 。默认...

    nginx rtmp 服务器编译好

    4. **编译和安装**:执行`make`命令进行编译,然后使用`make install`将编译后的Nginx复制到指定的安装目录。 5. **配置Nginx**:编辑`nginx.conf`文件,配置RTMP服务器部分。一个基本的RTMP服务器配置可能如下: ...

    nginx-1.26.0最新版本已完成编译可解压直接使用

    **Nginx 1.26.0 最新版编译及使用详解** Nginx 是一款高性能、轻量级的 Web 服务器/反向代理服务器,因其高效的性能、丰富的功能和简单易用的配置,被广泛应用于各类互联网服务中。在本文中,我们将详细介绍 Nginx ...

    Nginx交叉编译所需源码包

    5. 将编译好的Nginx二进制文件及其依赖库部署到目标系统,进行安装和测试。 了解这些知识点后,你可以根据具体需求,针对不同的硬件平台进行Nginx的定制化构建,从而实现高效的流媒体服务或高性能的Web应用服务器。

    windows版本编译配置好nginx

    在本文中,我们将深入探讨如何在Windows环境下配置和编译Nginx,特别是与RTMP模块集成,以创建一个实时流媒体服务器。Nginx是一个高性能的Web服务器和反向代理,而RTMP模块则使其能够处理实时流媒体内容。 首先,让...

    nginx源码编译安装

    nginx源码编译安装;本人亲测,可以使用。nginx-1.10.2

    龙芯(Mips64)nginx免编译rpm安装包。

    nginx免编译rpm安装包,在Mips64架构下通过rpm命令安装,安装路径默认在根目录的/opt下。

    nginx自动编译部署

    `shell.sh`可能是通用的Shell脚本,而`nginx_shell.sh`更可能是专门针对Nginx编译和部署的脚本。这两个脚本通常包含了一系列自动化步骤,如安装依赖、配置编译选项、编译源代码、安装二进制文件以及启动Nginx服务。 ...

    Nginx1.22.0版本Linux已编译可直接使用

    然而,这个“Nginx1.22.0 版本 Linux 已编译可直接使用”的压缩包提供了预编译的二进制文件,简化了部署过程,使得用户可以直接在 Linux 系统上运行,无需经历复杂的编译步骤。 Nginx 的主要功能包括: 1. **Web ...

    Dockerfile 编译安装nginx

    Dockerfile 编译安装nginx FROM hub.c.163.com/netease_comb/centos:7 RUN yum install -y gcc gcc-c++ make openssl-devel pcre-devel #http://nginx.org/download/nginx-1.12.2.tar.gz ADD nginx-1.12.2....

    nginx+fastcgi编译与移植手册

    根据提供的文件内容,我们可以整理出关于Nginx+FastCGI编译与移植的知识点,这些知识点详细地描述了在不同操作系统环境下准备、编译和移植Nginx以及其模块的过程。 1. 准备工作 在开始编译和移植之前,需要下载...

Global site tag (gtag.js) - Google Analytics