nginx + mongodb gridfs 实现web浏览文件

xiaoxiao2021-02-28  10

nginx + mongodb 参考 http://www.111cn.net/database/MongoDB/116127.htm 1,下载nginx 包 http://nginx.org/en/download.html  nginx-1.11.10.tar.gz nginx可能需要其他依赖包提前安装,可参考http://blog.csdn.net/grhlove123/article/details/47834673 2,下载nginx-gridfs源码 https://github.com/mdirolf/nginx-gridfs 下载mongo驱动源码  https://github.com/eagleas/mongo-c-driver.git  由于服务器没装git,我用ie下载的zip包后上传到服务器 将包都传到/home/test/software下 3,解压nginx tar zxf nginx-1.11.10.tar.gz 4,解压nginx-gridfs unzip nginx-gridfs-master.zip unzip mongo-c-driver-master.zip 5,两个项目合成一个 将mongo驱动包mongo-c-driver-master里的文件都移动到nginx-gridfs-master/mongo-c-driver下 mv /home/test/software/mongo-c-driver-master/* /home/test/software/nginx-gridfs-master/mongo-c-driver/ 6,编译 准备将带gridfs插件的nginx安装到/opt/nginx下 cd /home/test/software/nginx-1.11.10 ./configure --prefix=/opt/nginx --add-module=/home/test/software/nginx-gridfs-master   vi /home/test/software/nginx-1.11.10/objs/Makefile     //删除-Werror,不然make && make install的时候会报错   cd /home/test/software/nginx-1.11.10 make && make install  7,配置nginx cd /opt/nginx/conf vi nginx.conf 增加 location /images/{    gridfs test field=filename type=string;                   mongo "testrs"                 192.168.8.248:27018                 192.168.8.252:27017; }   gridfs:nginx识别插件的关键字 test:db名 [root_collection]: 选择collection,如root_collection=blog, mongod就会去找blog.files与blog.chunks两个块,默认是fs [field]: 查询字段,保证mongdb里有这个字段名,支持_id, filename, 可省略, 默认是_id [type]: 解释field的数据类型,支持objectid, int, string, 可省略, 默认是int [user]: 用户名, 可省略 [pass]: 密码, 可省略 mongo: 集群名称(集群设置时指定的,前面用的testrs)  集群多个 ip:port   8,启动 /opt/nginx/sbin/nginx   重启命令 /opt/nginx/sbin/nginx   -s reload 通过url可以看到图片了http://192.168.8.248/images/apple.jpg 实际上,访问会报错,因为还没往mongodb里上传东西 搞一个图片文件apple.jpg到服务器上,通过命令上传到mongodb。 mongofiles -h 192.168.8.248:27018 -d test put apple.jpg
转载请注明原文地址: https://www.6miu.com/read-200072.html

最新回复(0)