nginx + gridfs 实现图片的分布式存储(一) 安装

来源:互联网 发布:opencv 灰度共生矩阵 编辑:程序博客网 时间:2024/06/08 19:57

1、前期准备

sudo yum -y install pcre-devel openssl-devel GeoIP-devel zlib-devel

   

2、下载nginx-gridfs源码,并将mongodb-mongo-c-driver源码添加到nginx-gridfs/mongo-c-driver中

# 下载地址会因为代码版本号的变更不能使用,博友们自己搜一下吧。。

wget https://download.github.com/mdirolf-nginx-gridfs-v0.8-0-gb5f8113.tar.gz

tar –zxvf mdirolf-nginx-gridfs-v0.8-0-gb5f8113.tar.gz

mv mdirolf-nginx-gridfs-v0.8-0-gb5f8113 mdirolf-nginx-gridfs-v0.8

wget https://download.github.com/mongodb-mongo-c-driver-v0.3-0-g74cc0b8.tar.gz

tar –zxvf mongodb-mongo-c-driver-v0.3-0-g74cc0b8.tar.gz

mv mongodb-mongo-c-driver-v0.3-0-g74cc0b8/* mdirolf-nginx-gridfs-v0.8/mongo-c-driver

rm –rf mongodb-mongo-c-driver-v0.3-0-g74cc0b8

   

3、安装nginx,指定nginx-gridfs目录与nginx联合编译

wget http://nginx.org/download/nginx-1.0.1.tar.gz

tar –zxvf nginx-1.0.1.tar.gz

cd nginx-1.0.1

./configure --prefix=/usr/local/nginx --with-openssl=/usr/include/openssl --with-http_stub_status_module --add-module=/home/cdh/Downloads/mdirolf-nginx-gridfs

make –j8

sudo make install –j8

   

4、安装mongodb并启动

wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.1.tgz

tar –xvf mongodb-linux-i686-1.8.1.tgz

sudo mv mongodb-linux-i686-1.8.1 /usr/local/mongodb

sudo mkdir –p /tmp/mongodb/data

/usr/local/mongodb/bin/mongod --dbpath /tmp/mongodb/data --logpath /tmp/mongodb/data/log.log –fork

   

5、配置nginx-gridfs

sudo vim /usr/local/nginx/conf/nginx.conf

location /pics/ {

    gridfs pics

              field=filename

              type=string;

    mongo 127.0.0.1:27017; 

}

gridfs:nginx识别插件的关键字

pics: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:mongodb url

   

6、上传图片

sudo /usr/local/mongodb/bin/mongofiles put --host localhost --port 27017 --db pics --local ~/photo.jpg --type jpg

   

7、启动nginx

sudo /usr/local/nginx/sbin/nginx

在浏览器里输入http://localhost/pics/photo.jpg 能下载图片就说明成功了

 

8、写在一年之后的说明

gridfs受限于mongodb本身的性能限制,在存储大量数据后写性能下降很快,读并发也不尽如人意。在吞吐峰极限值(6台集群2分片30-40M/s)请况下日志会出现大量我们解决不了的异常(被折磨的死去活来的)。所以,他并不适合作为一个专用的大规模的分布式文件存储系统,但能够满足一般应用级别静态文件存储需求。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 京东账号手机号换了怎么办 换手机号了淘宝账号怎么办 qq登录id密码忘记怎么办 iphone商店密码忘记了怎么办 淘宝账号被限制登入怎么办 手机换号码了qq登不上怎么办 换手机了qq登不上怎么办 微信帐号和密码错误怎么办 高考生忘记登录密码怎么办 高考生登录密码丢了怎么办 高考志愿登录密码忘了怎么办 电视声音和画面不同步怎么办 苹果5s不能开机怎么办 红米手机老是闪退怎么办 苹果7plus打字卡怎么办 手机总是出现无响应怎么办 手机淘宝怎么打不开了怎么办 淘宝买东西卖家不同意退货怎么办 苹果自带浏览器不能上网怎么办 淘宝账号买不了东西怎么办 支付宝被限制登录怎么办 微信登录不上 钱怎么办 淘宝账号买家权限被限制怎么办 淘宝中店新品打不开怎么办 旺旺号被限制有退款怎么办 登陆微信收不到验证码怎么办 淘宝店注册成功后怎么办 充电宝掉进水里怎么办 空光盘读不出来怎么办 苹果8plus丢了怎么办 苹果8plus掉了怎么办 淘宝账户被限制使用怎么办 飞利浦电脑显示器黑屏怎么办打开 微信忘记密码手机号停用怎么办 淘宝账号登录密码忘记了怎么办 淘宝支付密码输错了怎么办 淘宝支付密码忘记了怎么办 淘宝货品上架后显示过期怎么办 被淘宝客监控了怎么办 助学贷款支付宝账号忘记怎么办 离婚支付宝的钱怎么办