yum 安装nginx 增加lua-nginx-module和nginx-gridfs

yum 安装nginx 增加lua-nginx-module和nginx-gridfs

安装LuaJIT

1
yum install -y luajit luajit-devel

下载依赖模块

提前下载nginx对应的版本源码包

1
2
3
4
5
6
7
# ngx_devel_kit
wget https://github.com/vision5/ngx_devel_kit/archive/v0.3.1.tar.gz
tar zxf v0.3.1.tar.gz

# ngx_lua
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.13.tar.gz
tar zxf v0.10.13.tar.gz

查看nginx现有编译参数

1
nginx -V

编译

使用动态模块方式加载编译。

1
2
3
./configure <原参数> --with-ld-opt="-Wl,-rpath,/usr/lib64/" --add-dynamic-module=/root/ngx_devel_kit-0.3.1 --add-dynamic-module=/root/lua-nginx-module-0.10.13

make

注释with-ld-opt参数如有不需要增加,需要和自身的对比。

nginx 添加gridfs的支持

运行nginx 的时候出现nginx: [emerg] unknown directive "gridfs"。发现nginx的这个插件nginx-grifs是用于nginx-gridFS读取MongoDB的图片。

下载nginx-gridfs源码

1
2
3
4
git clone https://github.com/mdirolf/nginx-gridfs.git
cd nginx-gridfs
git submodule init
git submodule update

重新编译nginx

1
./configure <原参数> --add-module=../nginx-gridfs/

验证

编译完成以后,在nginx的包目录下面会生成一个objs目录

1
2
3
4
5
# 验证是否有误
objs/nginx -t

# 复制nginx到/usr/sbin/
cp objs/nginx /usr/sbin/

测试nginx-gridfs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# nginx 配置
location /static/ {
gridfs xxlaila_ota field=filename type=string;
mongo mongodb://xxlaila:xxlaila123@192.168.36.12:27017,192.168.36.14:27017,192.168.36.13:27017/?replicaSet=xxlaila&authSource=admin;

secure_link $arg_md5,$arg_expires;
secure_link_md5 "$secure_link_expires$uri llsp5T2nbV3AffY";

if ($secure_link = "") {
return 403;
}

if ($secure_link = "0") {
return 410;
}
}

# 测试图片上传
sudo mongofiles put --host localhost --port 27017 --db qrcode --local ~/photo.jpg --type jpg
坚持原创技术分享,您的支持将鼓励我继续创作!
0%