在流浪虛擬機上安裝MongoDB(備忘錄)
参考资料:antonyh/vagrant-mongodb
我将描述关于在Vagrant上安装MongoDB的步骤。
必不可少的环境 de
因为需要以下环境,请提前准备好。
-
- Vagrant
-
- VirtualBox
- VMのための空き容量とメモリ
请注意
默认设置存在以下问题,请参考以下的“MongoDB设置”来解决此问题。
-
- 管理画面が有効になっていません
- ホストOSからのアクセスができません
安装
使用公开的box来启动。
操作系统为Fedora,使用Puppet安装MongoDB。
- $ mongo
[vagrant@localhost ~]$ mongo
MongoDB shell version: 2.4.6
connecting to: test
>
当等待输入时,设置就成功了。要结束Shell,执行quit()。
默认环境
- OS
[vagrant@localhost ~]$ cat /etc/redhat-release
Fedora release 20 (Heisenbug)
- MongoDB
[vagrant@localhost ~]$ mongo --version
MongoDB shell version: 2.4.6
- Puppet
[vagrant@localhost ~]$ puppet --version
3.4.3
MongoDB配置
由於其原樣啟動存在以下問題,我們將進行修正。
使主机可以连接
将mongodb.conf文件按照以下方式进行编辑,并使用sudo service mongod restart重启服务。
#bind_ip = 127.0.0.1
bind_ip = All
启用管理界面
编辑mongodb.conf文件如下,然后执行sudo service mongod restart来重启。
# Disable the HTTP interface (Defaults to port+1000).
#nohttpinterface = true
nohttpinterface = false
自动化上述设置
改变Puppet设置以使其一开始就符合上述设置是很方便的。
添加Puppet配置以生成/etc/mongodb.conf。
file { "/etc/mongodb.conf" :
content => "
bind_ip = All
port = 27017
fork = true
pidfilepath = /var/run/mongodb/mongodb.pid
logpath = /var/log/mongodb/mongodb.log
dbpath =/var/lib/mongodb
journal = true
nohttpinterface = false
"
}
确定
如果主机操作系统中安装了MongoDB Client,我们可以尝试连接。
端口已经转发到默认的MongoDB端口,所以只需直接在主机操作系统上进行连接即可。
$ mongo
MongoDB shell version: 2.6.3
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
>
如果管理界面已启用,请尝试在浏览器中访问管理界面。
http://localhost:28017/
如果无法从主机操作系统进行连接
如果无法从主机操作系统连接,请尝试以下步骤进行确认。
-
- Vagrantfile
forwarded_portの設定が正しいか?
ホストOSでポートが空いているか?
27017,27018,27019,28017
空いていない場合はVagrantofileを編集してホストのポートを変更する
mongodb.conf
bind_ipでホストOSの接続が許可されているか?
如果无法访问管理界面,则还需要检查以下内容。
-
- mongodb.conf
nohttpinterface = false に設定されているか?