nginx 添加第三方模块
添加第三方模块
搭建文件服务器 fastdfs + nginx 过程中配置nginx部分遇到些许坑. 记录为 给 ubuntu 系统上已有的 nginx 安装第三方模块 fastdfs-nginx-module
- nginx 信息
通过 apt 安装的 nginx 默认情况
/usr/sbin/nginx # 执行文件位置
/etc/nginx/ # 配置文件目录位置
通过 nginx -V
查看 nginx 版本及编译参数
configure arguments 后的部分为编译参数, 简称"编译参数", 之后的重新编译步骤将用到
nginx version: nginx/1.4.6 (Ubuntu)
built by gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_spdy_module --with-http_sub_module --with-http_xslt_module --with-mail --with-mail_ssl_module
- 下载源码
下载nginx 源码 apt-get source nginx
nginx_1.4.6-1ubuntu3.8.debian.tar.gz
nginx_1.4.6-1ubuntu3.8.dsc
nginx_1.4.6.orig.tar.gz # 源码压缩包
nginx-1.4.6 # 解压的源码文件夹
下载模块源码
git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1
cd fastdfs-nginx-module/src
pwd
获得模块源码位置, 简称 "模块路径"
/usr/local/src/fastdfs-nginx-module/src/
- 编译
cd nginx-1.4.6
./configure 编译参数 --add-module=模块路径
make
无需执行 make install, 之心将会覆盖系统原有的文件, 大可不必. 新的可执行文件生成在 objs/nginx, 替换系统原有的 nginx 并重启
sudo cp ./objs/nginx /usr/sbin
- 使用模块
在必要的配置使用该模块, 示例,进过8888端口的请求使用到该模块
server {
listen 8888;
server_name localhost;
location ~/group[0-9]/M00/ {
ngx_fastdfs_module;
}
}