今天在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 在 android 操作系统下的交叉编译方法。参照此方法,可以编译出可在 android 系统下运行的 nginx 服务。
基于海思3559A 对nginx-1.6.2 openssl-1.0.2的交叉编译过程,nginx-1.6.2的环境部署
这个压缩包里面包含了在openwrt交叉编译nginx-1.8.0所需要的Makefile和patch。 作为文章http://blog.csdn.net/ping1214/article/details/45397729的附件。
nginx交叉编译解压可用版,arm交叉编译版Linux 3.0.101稳定运行。在根目录新建www文件夹,把压缩包放进去,解压,运行nginx_arm/sbin目录下的nginx。./www/nginx_arm/sbin/nginx或直接在sbin目录下./nginx 。默认...
nginx源码编译安装;本人亲测,可以使用。nginx-1.10.2
nginx fastcgi 编译与移植 手册 nginx fastcgi 编译与移植 手册 nginx fastcgi 编译与移植 手册
Nginx+Php+Mysql5编译指南,非常完美,
nginx rtmp 服务器编译好的 windows 的很好用的哦
Nginx-rtmp交叉编译所需的源码包,包括 nginx-1.18.0 nginx-rtmp-module openssl-1.1.0l pcre-8.44 zlib-1.2.11
64为系统nginx编译安装指南,编译参数已经方法,希望能够对大家有所帮助
Linux环境Nginx1.22.0版本,解压即用。 解压后使用./nginx -V可查看版本和编译信息。
椒图服务器安全管理系统是一款:基于web防护和主机...编译防护模块、需要给nginx进行防护的时候需要重新编译的时候加载该模块,把他带进到nginx编译模块里面进行防护,当攻击者进行恶意请求访问时达到{rst}防护效果。
Nginx源码编译安装详解
Linux环境Nginx1.24.0版本,解压即用。 解压后使用./nginx -V可查看版本和编译信息。 编译参数包含flv、pcre-8.45、openssl-1.1.1l、zlib-1.2.11等,满足基本使用;
windows平台nginx编译nginx-http-flv-module,可直接运行,基于nginx-1.17.10编译
linux环境 nginx-1.18.0 ,目录/root下解压 使用,无需编译代码 #tar -zxvf nginx-green-1.18.0.tar.gz #chmod 777 nginx/* #cd nginx/sbin #./nginx 如果提示无权限,可以手工先创建相关文件和目录
nginx离线编译安装依赖