在阿里雲上買了個伺服器,部署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=1
esc
,然後輸入: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
資料夾中新增開機啟動指令碼mongod
cd /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 pid
mongod.lock 和 diagnostic.data檔案刪掉
-
自啟動失效
如果mongodb自啟動,檢視配置檔案/etc/mongod.conf
中fork配置是否有開啟: