linux使用nginx-gridfs实现文件服务

一:nginx+第三方模块用什么命令,--addmongodb

二:怎么样装mongodb

三:怎么上传一个图片

四:怎么样去访问这个图片

三方模块;它不是nginx的,就是在源码包编译nginx的时候,把第三方模块给它加进去,从而实现,nginx和mongodb能连上,连上之后,上传图片到mongodb里面,然后用户访问nginx能够访问上传到mongodb里面的图片,在浏览器输入网址,上传的图片就显示出来了。

GridFS是mongodb下用来存储文件的一种规范,所有官方支持的驱动均实现了GridFS规范。

首先装mongodb,手写yum源

用三方模块,用源码装nginx

因为用的是云服务器,因为一定不要忘了,云服务器的安全组一定要打开,因为mongodb是用的27017端口,必须打开否则连不上。

开安全组

 

yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel git  安装基本服务

wget https://nginx.org/download/nginx-1.7.4.tar.gz   安装nginx

 

 nginx包下载完了

tar xf nginx-1.7.4.tar.gz 解压

上传三方模块的包

 tar xf gridfs.tar.gz  加压完有个目录

 这目录里面的文件就是三方模块

cd nginx- 1.7.4/

./configure --add-module=../nginx-gridfs   把三方模块关联上

make && make install       make完成之后自动化安装

配置nginx  

vi /usr/local/nginx/conf/nginx.conf      nginx的主配置文件

进去之后,找到server字段

 指定它的路径,把图片放在/img/

  使用gridfs模块,连接test库。test  是mongodb默认的数据库

pkill nginx  

/usr/local/nginx/sbin/nginx

 报80不是因为端口操作的报错,端口被httpd占了

 pkill httpd  然后再起nginx

/usr/local/nginx/sbin/nginx   

 启动完毕

 如果重启nginx出现这个错误,就是nginx在做没有关联上三方模块,得重新去安装nginx

 如果重启nginx出现这个错误,就是nginx在做没有关联上三方模块,得重新去安装nginx

配置mongodb

yum -y install mongodb-org

 装完之后,启动mongodb

systemctl restart mongod

mkdir /img     因为nginx里面主目录是/img/

cd /img/           上传一个图片,必须是jpg 上传不了别的类型

 上传图片  

 给它权限 

 mv 111.jpg 1.jpg           改成1.jgp

上传

mongofiles put --host 127.0.0.1 --port 27017 --db test 1.jpg --type jpg
      mkdir /img   上传到127.0.0.1的主机,27017端口 --db  test  库  

 连接到了本机的127.0.1的27017端口,并且added file 添加了一个文件是1.jpg

图片就加载进去了,去浏览器访问它

1.13.253.178/img/1/jpg           IP地址下的img

如果不好使应该是浏览器的问题,换个浏览器,在最后上传图片的一定要在1.jp目录下上传,并且一定要上传1.jpd的图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你是我的导航

谢谢您的打赏,您的鼓励。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值