今天在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重新编译的过程。 首先,`nginx-http-flv-module`是一个扩展模块,它扩展了Nginx的基本功能,使其能够处理FLV和HLS视频流。这对于在线视频服务提供商来说...
本教程将详细介绍如何在已经安装的Nginx上重新编译并添加缺失的模块。 首先,你需要找到Nginx的源码根目录。如果你没有保留源码,你需要从官方下载最新版本的Nginx源码并解压缩。例如,你可以下载1.10.2版本,将其...
Nginx交叉编译与部署 Nginx交叉编译与部署是指在不同架构的平台上编译和部署Nginx服务器的过程。本文将介绍基于海思3559A对Nginx-1.6.2和OpenSSL-1.0.2的交叉编译过程,并介绍Nginx-1.6.2的环境部署。 一、概述 ...
本文描述了开源服务 nginx 在 android 操作系统下的交叉编译方法。参照此方法,可以编译出可在 android 系统下运行的 nginx 服务。
Nginx 完整编译指南 Nginx 作为一个流行的 Web 服务器软件,需要与 PHP 和 MySQL5 结合使用,以提供一个完善的 Web 应用程序环境。本文将指导读者从头开始编译 Nginx,包括编译 pcre 库、cache 模块、PHP 和 MySQL5...
./configure --prefix=./../nginx-1.22.1 --with-threads --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module
这个压缩包里面包含了在openwrt交叉编译nginx-1.8.0所需要的Makefile和patch。 作为文章http://blog.csdn.net/ping1214/article/details/45397729的附件。
./configure --prefix=./../nginx-1.24.0 --with-threads --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module
nginx交叉编译解压可用版,arm交叉编译版Linux 3.0.101稳定运行。在根目录新建www文件夹,把压缩包放进去,解压,运行nginx_arm/sbin目录下的nginx。./www/nginx_arm/sbin/nginx或直接在sbin目录下./nginx 。默认...
4. **编译和安装**:执行`make`命令进行编译,然后使用`make install`将编译后的Nginx复制到指定的安装目录。 5. **配置Nginx**:编辑`nginx.conf`文件,配置RTMP服务器部分。一个基本的RTMP服务器配置可能如下: ...
**Nginx 1.26.0 最新版编译及使用详解** Nginx 是一款高性能、轻量级的 Web 服务器/反向代理服务器,因其高效的性能、丰富的功能和简单易用的配置,被广泛应用于各类互联网服务中。在本文中,我们将详细介绍 Nginx ...
5. 将编译好的Nginx二进制文件及其依赖库部署到目标系统,进行安装和测试。 了解这些知识点后,你可以根据具体需求,针对不同的硬件平台进行Nginx的定制化构建,从而实现高效的流媒体服务或高性能的Web应用服务器。
在本文中,我们将深入探讨如何在Windows环境下配置和编译Nginx,特别是与RTMP模块集成,以创建一个实时流媒体服务器。Nginx是一个高性能的Web服务器和反向代理,而RTMP模块则使其能够处理实时流媒体内容。 首先,让...
nginx源码编译安装;本人亲测,可以使用。nginx-1.10.2
nginx免编译rpm安装包,在Mips64架构下通过rpm命令安装,安装路径默认在根目录的/opt下。
`shell.sh`可能是通用的Shell脚本,而`nginx_shell.sh`更可能是专门针对Nginx编译和部署的脚本。这两个脚本通常包含了一系列自动化步骤,如安装依赖、配置编译选项、编译源代码、安装二进制文件以及启动Nginx服务。 ...
然而,这个“Nginx1.22.0 版本 Linux 已编译可直接使用”的压缩包提供了预编译的二进制文件,简化了部署过程,使得用户可以直接在 Linux 系统上运行,无需经历复杂的编译步骤。 Nginx 的主要功能包括: 1. **Web ...
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以及其模块的过程。 1. 准备工作 在开始编译和移植之前,需要下载...