1 首先需要一台linux服務器(我用的redhat linux,其它的也大同小異),
玩一玩的話,推薦亞馬遜上面去創建一個免費的linux服務器,有關具體創建linux服務器不在這贅述。
https://us-west-2.console.aws.amazon.com/ec2/v2/home?region=us-west-2#Instances:sort=instanceId
2 安裝MongoDB3.4社區版,配置MongoDB的yum源,輸入命令:(最好用root登錄,如果不是請在命令前加 sudu 命令)
vim /etc/yum.repos.d/mongodb-org-3.4.repo
vim /etc/yum.repos.d/mongodb-org-3.4.repo
按 i 進入編輯模式,輸入一下內容:
[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
然后按Esc 按 :wq 保存並且推出vim
3 開始安裝命令
yum install mongodb-org
4 出現 Complete! 字樣 安裝成功后 配置SELinux
setenforce 0
5 此時是可以啟動mongo了
systemctl start mongod.service
然后輸入以下命令查看是否啟動成功了
systemctl status mongod.service
出現的結果中有 active(running)的字樣代表啟動成功
6 此時還不能用客戶端連接成功,還需要防火牆配置
如果是亞馬遜的服務器,需要到亞馬遜服務器管理平台上去設置27017端口
進入ec2管理面板,點擊安全組,選擇linux實例,點擊下面的入站
,
然后在linux服務器直接關閉防火牆(我用的是做測試用的,其實不關閉防火牆 只需開放27017端口也行的)
systemctl disable firewalld #永久關閉 systemctl stop firewalld #暫時關閉 下次重啟還有
設置開機啟動
systemctl enable mongod.service
還需mongodb遠程訪問 編輯mongod.conf注釋bindIp(bindIp前面加#),並重啟mongodb.
vim /etc/mongod.conf
重新啟動mongo
systemctl restart mongod.service
以下附上幾個其它的命令
#停止命令
systemctl start mongod
#刪除安裝包
yum erase $(rpm -qa | grep mongodb-org)
#刪除數據目錄
rm -r /var/log/mongodb rm -r /var/lib/mongo
7重啟mongo后就可以直接用mongo客戶端工具連接了,此時驗證方式選擇none
8 登錄進去后就可以用客戶端創建其它用戶了,當然也可以直接用mongo shell操作
啟動mongo shell
mongo
輸入
use admin;
db.createUser({user:"jiang232",pwd:"jiang233",roles:["dbAdminAnyDatabase","readWriteAnyDatabase","root"]})
開啟登錄認證機制后,方可用用戶名密碼登錄,否則得用7步驟的登錄方式
vim /etc/mongod.conf
#追加上 security: authorization: "enabled"
然后重啟mongo
#重啟mongo服務 systemctl restart mongod
此時用客戶端連接,用剛剛創建的超級管理員賬號 jiang232 輸入密碼, 登錄驗證方式也變了。
到此mongo服務端已經完成創建,並客戶端能夠連接。
遇到的問題總結一下,主要是端口的問題,27017 端口開放需要3重設置,1亞馬遜端配置,2配置SELinux 3關閉防火牆。