您的位置:首页 > 数据库 > Mongodb

安装nginx+gridfs+mongodb

2016-09-29 12:17 417 查看
还待更新...
1、准备软件包
nginx-1.4.7.tar.gz
nginx-gridfs.tar.gz
mongodb-linux-x86_64-rhel62-2.7.7.tgz
地址如下:
http://nginx.org/download/nginx-1.4.7.tar.gz
http://pan.baidu.com/s/1mgpiOmG
http://downloads.mongodb.org/linux/mongodb-linux-x86_64-rhel62-2.7.7.tgz
2、解压安装
tar xf nginx-1.4.7.tar.gz
tar xf nginx-gridfs.tar.gz
3、安装依赖添加用户并编译
cd nginx-1.4.7/
yum -y install pcre-devel openssl-devel zlib-devel
useradd nginx -s /sbin/nologin -M
./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --with-http_stub_status_module --with-http_ssl_module --with-poll_module --add-module=/root/nginx-gridfs --user=nginx --group=nginx
4、处理makefile内的错误并安装
vim objs/Makefile
去掉第三行的-Werror
make &&make install
5、安装mongodb
tar xf mongodb-linux-x86_64-rhel62-2.7.7.tgz -C /usr/local/
cd /usr/local/mv mongodb-linux-x86_64-rhel62-2.7.7 mongodb
mkdir /usr/local/mongodb/datavim /usr/local/mongodb/mongodb.conf
#端口
port=27017#数据文件存放目录dbpath= /usr/local/mongodb/data#日志文件存放目录logpath= /usr/local/mongodb/mongodb.log#使用追加的方式写日志logappend=true#以守护程序的方式启用,即在后台运行fork=true#最大同时连接数maxConns=500#只允许通过本机访问#bind_ip=127.0.0.1#启用验证#auth = true6、配置环境变量echo 'export PATH=$PATH:/usr/local/mongodb/bin'>>/etc/profile. /etc/profile7、启动mongodb
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf

8、向mongodb中添加图片(photo.jpg在当前目录)
mongofiles put photo.jpg -h127.0.0.1:27017 -d my_app -t jpg
9、配置nginx访问mongodb
location /abc/ {
gridfs my_app root_collection=fs field=filename type=string;
#--my_app是mongodb中的数据库,root_collection是表的前缀,field是文件按文件名称访问,type是存储文件名称的类型
mongo 127.0.0.1:27017;
#--mongodb的IP和端口
}
10、重启nginx并访问192.168.1.219/abc/photo.jpg
11、注意事项
1)nginx的版本无所谓,但是gridfs第三方模块插件要正确,否则nginx的error日志会报连接不上mongodb的错误
2)mongodb的版本不能高于3.0,我这里使用的是2.7,如果过高,nginx的error.log将会出现内存溢出错误malloc(18446744056529682432) failed
3)配置编译后要去掉werror才能继续make,否则会报错
4)nginx更换版本不用删除,重新编译即可
5)关闭mongodb请进入数据库使用方法db.shutdownserver()关闭数据库
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  利用 nginx 第三方