还待更新...
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/data
vim /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 = true
6、配置环境变量
echo ‘export PATH=$PATH:/usr/local/mongodb/bin‘>>/etc/profile
. /etc/profile
7、启动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()关闭数据库
本文出自 “山大王” 博客,请务必保留此出处http://chenshifei.blog.51cto.com/11883413/1857685
原文地址:http://chenshifei.blog.51cto.com/11883413/1857685