此命令:
mongod --fork --dbpath ../data --smallfiles --logpath ../data/mongo.log
从终端完美运行,而在目录中/mongo/bin/
但是,当我对 upstart 会话作业文件 (at $HOME/.config/upstart
) 使用相同的命令和目录时:
# mongod_service - mongoDB job file
description "MongoDB service"
author "admin"
# When to start the service
start on runlevel [2345]
# When to stop the service
stop on runlevel [016]
# Automatically restart process if crashed
# respawn
# Essentially lets upstart know the process will detach itself to the background
expect fork
# working directory
chdir /mongo/bin/
# log this job
console log
# Start mongod as daemon
exec /mongo/bin/mongod --fork --dbpath /mongo/data --smallfiles --logpath /mongo/data/mongo.log
更新:
更改了作业文件并且现在启动正常,但是当我尝试用 停止它时initctl stop mongod-service
,命令永远不会完成!。
有人能建议如何让它工作吗?
答案1
即使您使用的是从 Git 构建的 MongoDB 版本,您仍然可以重用官方的 upstart 配置文件:
https://github.com/mongodb/mongo/blob/master/debian/mongod.upstart
并按要求进行更新。