mongodb nginx-gridfs nginx安装

本文介绍MongoDB数据库的安装步骤及Nginx与nginx-gridfs的配置方法,包括如何解决常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. MongoDB安装

tar -zxf mongodb-linux-x86_64-3.4.4.tgz
  • 改名:
mv mongodb-linux-x86_64-3.4.4.tgz mongodb
  • 创建数据目录和日志目录:
mkdir -p mongodb/data/db
mkdir -p mongodb/data/log
  • 启动MongoDB: 进入/mongodb/bin目录执行以下命令,指定数据库和日志文件地址:
./mongod --dbpath=/usr/local/mongodb/data/db/ --logpath=/usr/local/mongodb/data/log/mongodb.log --logappend &

ps:高版本的mongodb语法是–dbpath /usr/local/mongodb/data/db/,此处没有等号

  • 检查启动状态:ps -ef | grep mongo 看到刚才启动命令就说明在运行了

2. Nginx和nginx-gridfs安装

git submodule init  
git submodule update
./configure --add-module=/usr/local/nginx-gridfs

接下来如果直接make && make install 会报错,应打开objs目录下的Makefile文件,删除-Werror

PS:

vim objs/Makefile

查找字符串命令:斜杠加字符串如:/Werror

  • 编译安装
make && make install

安装完成会在源码文件夹同级目录下多个nginx目录
- 配置Nginx
配置文件为nginx/conf/nginx.conf,添加/pics/映射到gridfs数据库pics,将如下代码添加到server块内:

location /pics/ {
    gridfs pics field=filename type=string;
    mongo 127.0.0.1:27017;
}

格式:
gridfs DB_NAME [root_collection=ROOT] [field=QUERY_FIELD] [type=QUERY_TYPE] [user=USERNAME] [pass=PASSWORD]

gridfs: 数据库名pics

root_collection: GridFS的root_collection(前缀)。默认值:fs

field: 查询字段,保证mongdb里有这个字段名,支持_id, filename, 可省略, 默认是_id

type: 解释field的数据类型,支持objectid, int, string, 可省略, 默认是int

user: 用户名, 可省略

pass: 密码, 可省略

mongo: ip:port

  • 启动nginx

可能出现的问题


  • nginx1.4.7无法显示文件,nginx error log报错
    Mongo connection dropped, could not reconnect

mongo-c-driver直接git clone下载,git clone https://github.com/eagleas/mongo-c-driver.git
而不要进行以下二步操作
git submodule init
git submodule update

常用命令

  • 删除文件夹或文件
rm -rf xxxx

-f 强制
-r 向下递归

  • 查看进程
ps -ef | grep nginx

-e 显示所有进程。
-f 全格式。
ps e 列出程序时,显示每个程序所使用的环境变量。
ps f 用ASCII字符显示树状结构,表达程序间的相互关系
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
ps -ef | grep nginx: 检查nginx进程是否存在

  • 杀进程
kill -9 pid

kill – send a signal to a process
其实kill就是给某个进程id发送了一个信号。默认发送的信号是SIGTERM,而kill -9发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。当然你也可以使用kill发送其他信号给进程。

PS: mongodb进程建议使用

kill -2 <mongodb-pid>

以防数据库内文件损坏

  • vim
:wq //保存并退出

:q! //不保存强制退出

「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。

「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

  • mongodb数据库的迁移
mongodump:

命令格式:mongodump -h dbhost  -d dbname -o dbdirectory

-h:  mongodb所在服务器地址,例如127.0.0.1,也可以指定端口:127.0.0.1:8080 

-d:  需要备份的数据库名称,例如:test_data

-o:  备份的数据存放的位置,例如:/home/bak,当然该目录需要提前建立,在备份完成后,系统自动在bak目录下建立一个test_data目录,这个目录里面存放该数据库实例的备份数据。
mongorestore:

命令格式:mongorestore -h <hostname><:port> -d dbname <path>

-host  MongoDB所在服务器地址,默认为: localhost:27017

-db , -d: 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2

-drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!

<path>: mongorestore 最后的一个参数,设置备份数据所在位置,例如:c:\data\dump\test。
你不能同时指定 <path>-dir 选项,-dir也可以设置备份目录。

-dir 指定备份的目录

你不能同时指定 <path>--dir 选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值