如何编译MongoDB?

本文将在Linux环境下编译Mongodb。

您可以选择已经编译好的版本直接使用,也可以尝试自己编译。 https://www.mongodb.org/downloads#production
 
 
动手开始:

1、Linux,本文选择Ubuntu 14.04 LTS 64bit,下载地址:
 
2、包依赖:编译器 gcc g++ clang 安装方式:
 
# sudo apt-get install gcc (4.8.2以上版本)
# sudo apt-get install g++ (4.8.2以上版本)
# sudo apt-get install clang(3.4以上版本)
 
3、包依赖:python (2.7以上版本) 安装方式:
# sudo apt-get install python
 
4、包依赖:scons (2.3以上版本) 安装方式:
# sudo apt-get install scons
5、包依赖
# sudo apt-get install aptitude
# aptitude install scons build-essential
# aptitude install libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-thread-dev

6、源代码:从GitHub上面下载: https://github.com/mongodb/mongo 直接选择一个分支,右侧Download Zip,解压缩到目录:
 
# mkdir mongodb-master-src
# unzip mongodb-master.zip mongodb-master-src/
# cd mongodb-master-src/
 
7、新建一个 version.json 文件在 mongodb-master-src/ 目录下:在大部分能搜索到的文档中,大家都是直接下载好后就编译,但是会报一个scons错误,原因就是因为缺少这个文件。
 # gedit version.json
然后输入以下内容后保存:
{
    "version": "0.0.1-fake-"
}


8、编译源代码:

# sudo scons all -j 4

这里-j 4 是指你所使用的CPU核数。也可以直接:

# sudo scons all  

或者仅

# sudo scons mongod
# sudo scons mongo
# sudo scons mongos


9、编译后验证,执行下面语句,你将看到版本提示信息。

# ./mongod --version


10、编译后配置,新建相关目录及配置文件

# mkdir mongodb_sample
# cd  mongodb_sample/
# mkdir bin
# mkdir data
# mkdir log
# mkdir conf
# cd conf
# gedit mongod.conf

在打开的端口内输入:

port = 12345
dbpath = data
logpath = log/mongod.log
fork = true  

其中:port代表访问该数据库的端口号,fork表示是一个后台进程。

11、复制编译好的文件到bin目录

# cp ../mongod mongodb_sample/bin/


12、启动mongod:

# cd mongodb_sample/bin/
# ./mongod -f conf/mongod.conf

13、检查log和data目录将看到文件夹内有新的文件。
14、停止mongod,这里因为没有连接到mongod服务器,所以直接使用kill的方式进行关闭,关闭的时候,不使用kill -9,可以使用kill -15:

先查找进程ID:

# ps -A | grep mongod

然后

# kill 32759

关于kill命令后面的参数,详见:https://en.wikipedia.org/wiki/Unix_signal#SIGTERM

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值