在阿里雲上買了個服務器,部署mongodb遇到一些坑,解決辦法也是從網上搜集而來,把零零碎碎的整理記錄一下。
服務器是:Alibaba Cloud Linux
下載安裝
mongodb官網下載實在是太慢,可以從阿里鏡像安裝:阿里MongoDb鏡像

使用yum安裝
- 在/etc/yum.repos.d目錄下添加mongodb-org.repo文件
vim命令:是編輯(新建)文件的命令,退出編輯的時候,按cd /etc/yum.repos.d vim mongodb-org.repo [mogodb-org] name=MongoDB Repository baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/4.0/x86_64/ gpgcheck=0 enabled=1esc,然后輸入:wq退出報存。如果對linux命令不熟,用 Xftp 等工具直接上傳也可以。
baseurl:在阿里鏡像中,點擊下載地址后,選擇的mongodb的版本的鏈接,根據選擇的版本不同而不同,其他的不用變。 - 用yum安裝
yum:linux下載包的命令,從上面添加的 .repo 文件中的 baseurl地址開始下載。yum -y install mongodb-org-y是為了免去安裝的確認操作。
配置
安裝完成了過后,找到配置mongodb的配置文件
rpm -qla | grep mongod.conf

- 修改配置文件
主要修改點:bindIp值改為 0.0.0.0,這樣可以外網訪問vim /etc/mongod.conf # mongod.conf systemLog: destination: file logAppend: true path: /var/log/mongodb/mongod.log # 日志文件目錄 # Where and how to store data. storage: dbPath: /var/lib/mongo # 數據目錄 journal: enabled: true # engine: # mmapv1: # wiredTiger: # how the process runs processManagement: fork: true # fork and run in background pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile timeZoneInfo: /usr/share/zoneinfo # network interfaces net: port: 27017 #端口 # 修改ip bindIp: 0.0.0.0 # 這里默認是127.0.0.1,要改成0.0.0.0
如果對linux的指令不熟悉的,可以直接在 Xftp的工具里面選中文件,右鍵有編輯操作
運行
-
在
/etc/init.d文件夾中添加開機啟動腳本mongodcd /etc/init.d vim mongod EXEC=/usr/bin/mongod CONF=/etc/mongod.conf LOCKFILE=/var/lock/subsys/mongod RETVAL=0 case "$1" in start) echo -n $"Starting mongod: " $EXEC -f $CONF RETVAL=$? echo [ $RETVAL -eq 0 ] && touch $LOCKFILE ;; stop) echo -n $"Stopping mongod: " $EXEC -f $CONF --shutdown RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f $LOCKFILE ;; restart) ${0} stop ${0} start ;; *) echo "Usage: /etc/init.d/mongod {start|stop|restart}" >&2 exit 1 esac -
運行權限
# 獲取文件權限 chmod +x /etc/init.d/mongodb -
啟動
service mongod start -
停止
service mongod stop -
重啟
service mongod restart -
卸載
# 停止服務 service mongod stop # 刪除安裝的包 yum erase $(rpm -qa | grep mongodb-org) # 刪除數據和日志 rm -rf /var/log/mongodb rm -rf /var/lib/mongo
驗證
- 開啟端口
mongodb默認端口為:27017,在配置文件/etc/mongod.conf里可以查看
在阿里雲后台,防火牆打開端口
- 瀏覽器訪問
ip:27017 訪問

問題排查
-
異常關閉時,手動關閉進程
如果啟動失敗,可能是由於系統異常關閉,可能會有進程沒有退出#查看mongodb的進程 ps aux | grep mongod #根據查詢的結果pid,關閉進程 kill -9 pidmongod.lock 和 diagnostic.data文件刪掉
-
自啟動失效
如果mongodb自啟動,查看配置文件/etc/mongod.conf中fork配置是否有開啟:
