如何編譯MongoDB?

來源:互聯網
上載者:User

標籤:

本文將在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?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.