標籤:
本文將在Linux環境下編譯Mongodb。
您可以選擇已經編譯好的版本直接使用,也可以嘗試自己編譯。https://www.mongodb.org/downloads#production 官方building文檔連結在:https://github.com/mongodb/mongo/blob/master/docs/building.md 動手開始:
1、Linux,本文選擇Ubuntu 14.04 LTS 64bit,:
http://www.ubuntu.com/download/desktop
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
如何編譯MongoDB?