通过暴发户设置mongodb – 如何通过选项?

我使用以下说明在VMware内部的Ubuntu Server VM中安装了MongoDB: http : //docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ 。 一切工作正常,我可以在普通端口27017访问MongoDB

./mongo 172.16.150.131:27017 

现在,我想做一个虚拟副本集和另一个数据库实例来testing我的应用程序。 我习惯在本地计算机上的四个独立terminal中执行以下命令:

 ./mongod --port 27027 --dbpath ~/mongodb/solo ./mongod --port 27028 --dbpath ~/mongodb/rs0-0 --replSet rs0 ./mongod --port 27029 --dbpath ~/mongodb/rs0-1 --replSet rs0 ./mongod --port 27030 --dbpath ~/mongodb/rs0-2 --replSet rs0 

我怎样才能在虚拟机中做到这一点? 我SSH进入我的虚拟机,运行命令和closures我的terminal(在OS X)后,他们仍然应该运行。

我试过了:

 service mongodb --port 27027 --dbpath ~/mongodb/solo service mongodb ~/mongodb/solo/mongodb.conf 

但是两者都得到以下错误(使用不同的上下文):

 Rather than invoking init scripts through /etc/init.d, use the service(8) utility, eg service mongodb --config=~/mongodb/solo/mongodb.conf The script you are attempting to invoke has been converted to an Upstart job, but --config=~/mongodb/solo/mongodb.conf is not supported for Upstart jobs. 

我如何得到这个工作? 第一次使用Ubuntu作为服务器。 谢谢。

上下文 – 目标是在虚拟机中创build我的数据库,以便在testing我的应用程序时产生某种滞后,但最主要的是我可以暂停虚拟机,而不是将脚本复制并粘贴到不同的terminal,以便在重新启动笔记本电脑时设置MongoDB。

当你使用Ubuntu软件包进行安装时,它会创build一个新贵的作业,这就是你在Ubuntu系统上启动/停止服务的原因。 当然,它只启动一个mongod并默认有一个configuration。 这个新贵的工作可以在这里find(默认):

 /etc/init/mongodb.conf 

这不会与/etc/mongodb.conf混淆,它是MongoDB服务configuration文件的默认位置。

如果你希望能够自动启动/停止额外的实例,或者你希望自己pipe理它们,那么你只需要创build指向不同configuration文件的复制作业(或者在作业文件中指定不同的选项)。 首先看看我在上面提到的init中的文件,然后在这里看看关于自己的新兴工作的更多信息:

http://upstart.ubuntu.com/cookbook/

另一个选项当然是直接调用额外的mongod实例。 例如:

 /usr/bin/mongod --fork --config=~/mongodb/solo/mongodb.conf 

--fork选项(如果没有在configuration文件中指定)需要分叉到后台,而不是在注销并终止shell时被终止。