mongodbに付属している標準のupstartスクリプトは正常に機能します。
# Ubuntu upstart file at /etc/init/mongodb.conf
limit nofile 20000 20000
kill timeout 300 # wait 300s between SIGTERM and SIGKILL.
pre-start script
mkdir -p /var/lib/mongodb/
mkdir -p /var/log/mongodb/
end script
start on runlevel [2345]
stop on runlevel [06]
script
ENABLE_MONGODB="yes"
if [ -f /etc/default/mongodb ]; then . /etc/default/mongodb; fi
if [ "x$ENABLE_MONGODB" = "xyes" ]; then exec start-stop-daemon --start --quiet --chuid mongodb --exec /usr/bin/mongod -- --config /etc/mongodb.conf; fi
end script
mongodの2番目のインスタンスを実行したい場合は、/etc/mongodb.conf
->/etc/mongodb2.conf
と/etc/init/mongodb.conf
->の両方をコピー/etc/init/mongodb2.conf
して、最初のconfファイルのstdポートを変更するだけだと思いました。次に、上記のスクリプトを調整して、新しく作成したから始め/etc/mongodb2.conf
ます。
そうすればstart mongodb2
、サービスが開始されます...しかし、開始直後に強制終了されます。両方のプロセスを稼働させるために、何を変更しますか?
# Ubuntu upstart file at /etc/init/mongodb2.conf
limit nofile 20000 20000
kill timeout 300 # wait 300s between SIGTERM and SIGKILL.
pre-start script
mkdir -p /var/lib/mongodb2/
mkdir -p /var/log/mongodb2/
end script
start on runlevel [2345]
stop on runlevel [06]
script
ENABLE_MONGODB="yes"
if [ -f /etc/default/mongodb ]; then . /etc/default/mongodb; fi
if [ "x$ENABLE_MONGODB" = "xyes" ]; then exec start-stop-daemon --start --quiet --chuid mongodb --exec /usr/bin/mongod -- --config /etc/mongodb2.conf; fi
end script