由於自己的博客上線部署時需要用到mongodb來存儲圖片文件,所以先在本地電腦上安裝了mongodb做測試,由於之前沒接觸過mongodb,所以安裝過程中遇到了各種小問題,折騰了好久終於安裝好並成功啟動服務了。這里決定寫一篇博客來記錄一下安裝過程以及遇到的問題的解決方案。
注:文末有福利!
先寫一下安裝並啟動mongodb正確的步驟,然后再總結其中遇到的問題。
一、安裝過程
1.到mongodb官網下載對應系統的壓縮包,我的系統是Ubuntu16.04,64位。(注意不要選錯系統版本,也可以在本地下載好后上傳到雲服務器)
2.默認下載路徑是到用戶目錄下的Downloads目錄,將其解壓
tar -zxvf mongodb-linux-x86_64-3.2.12.tgz
3.將解壓后的文件夾移動到/usr/local/的mongodb目錄下
mv -r mongodb-linux-x86_64-3.2.12 /usr/local/mongodb
4.配置系統文件profile
sudo vi /etc/profile
插入下列內容:
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin
注意保存后要重啟系統配置:
source /etc/profile
5.創建用於存放數據和日志文件的文件夾,並修改其權限增加讀寫權限
cd /usr/local/mongodb sudo mkdir -p data/db
sudo chmod -r 777 data/db sudo mkdir logs cd logs touch mongodb.log
6.mongodb啟動配置
進入到bin目錄,增加一個配置文件:
cd /usr/local/mongodb/bin sudo vi mongodb.conf
插入下列內容:
dbpath = /usr/local/mongodb/data/db #數據文件存放目錄 logpath = /usr/local/mongodb/logs/mongodb.log #日志文件存放目錄 port = 27017 #端口 fork = true #以守護程序的方式啟用,即在后台運行 nohttpinterface = true
7. 啟動mongod數據庫服務,以配置文件的方式啟動
cd /usr/local/mongodb/bin
./mongod -f mongodb.conf
8.連接mongodb數據庫
./mongo
9.設置mongodb.service啟動服務,設置開機啟動
cd /lib/systemd/system sudo vi mongodb.service
編輯其內容為:
[Unit] Description=mongodb After=network.target remote-fs.target nss-lookup.target [Service] Type=forking ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/bin/mongodb.conf PrivateTmp=true [Install] WantedBy=multi-user.target
10.設置mongodb.service權限
chmod 754 mongodb.service
11.系統mongodb.service的操作命令如下:
#啟動服務
systemctl start mongodb.service
#關閉服務
systemctl stop mongodb.service
#開機啟動
systemctl enable mongodb.service
12.mongodb.service啟動測試
二、安裝過程中遇到的問題
1.
mongod: error while loading shared libraries: libnetsnmpmibs.so.30: cannot open shared object file: No such file or directory
這個報錯信息是說找不到對應的庫文件,原因是一開始我下錯了安裝包版本,所以在下載是一定要注意自己系統的版本
2.通過配置文件啟動服務:mongod -f /etc/mongodb.conf 時報錯
Error parsing INI config file: unrecognised option 'nohttpinterface' try './
這個一開始讓我查了好久,后面查到是因為我下載的最新版本的mongodb,而最新的版本貌似不支持以這種配置文件的方式來啟動服務,所以無奈我又重新下載安裝了3.2.12的版本,然后再次啟動服務就正常了。
3.啟動服務時報錯:
about to fork child process, waiting until server is ready for connections. forked process: 11335 ERROR: child process failed, exited with error number 1
這個錯誤原因是dbpath文件的權限問題,data和logs目錄增加寫權限即可,上面提到了。
參考鏈接:
http://blog.csdn.net/a123demi/article/details/70238972
最后,給大家推薦一個良心公眾號【IT資源社】:
本公眾號致力於免費分享全網最優秀的視頻資源,學習資料,面試經驗等,前端,PHP,JAVA,算法,Python,大數據等等,你想要的這都有
IT資源社-QQ交流群:601357554
微信搜索公眾號:ITziyuanshe 或者掃描下方二維碼直接關注,
里面基本什么資料都有,基礎到進階到項目實戰,如果覺得不夠還可以加群跟群主要,最重要的是全部免費!