我想在后台运行mongod是一件经常出现的事情。最好的方法是什么?有点像我可以在启动时运行MySQL的方式,并且它总是在后台运行。也许这只是一些bash脚本,但是很高兴听到是否有更好的方法。如果只是猛击-那会是什么样?谢谢。
我想在后台运行mongod是一件经常出现的事情。最好的方法是什么?有点像我可以在启动时运行MySQL的方式,并且它总是在后台运行。也许这只是一些bash脚本,但是很高兴听到是否有更好的方法。如果只是猛击-那会是什么样?谢谢。
Answers:
MongoDB守护程序(mongod)具有命令行选项,可在后台运行服务器...
--fork
此命令行选项要求您还指定一个文件来记录消息(因为它不能使用当前控制台)。该命令的示例如下所示:
mongod --fork --logpath /var/log/mongod.log
您可以将其放入/etc/init.d/mongod bash脚本文件中。然后,要使服务在启动时运行,请在/etc/rc#.d/中创建标准的符号链接(S ##和K ##)。这是一个教程,更详细地说明了此过程。向下滚动到标题为“初始化脚本激活”的部分。这还具有执行以下命令的额外好处:
service mongod status
service mongod start
service mongod stop
--syslog
所有内容都写入系统日志中。
由于您使用的是Mac,因此应使用Homebrew安装MongoDB(如果尚未安装,则需要安装Homebrew):
brew install mongodb
假设安装的版本名为2.0.6-x86_64
。然后添加它为您生成的LaunchAgent plist文件:
mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/mongodb/2.0.6-x86_64/homebrew.mxcl.mongodb.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
mongod
现在和每次重新启动计算机时,它将在后台启动。
mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/mongodb/3.2.10/homebrew.mxcl.mongodb.plist ~/Library/LaunchAgents
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
尝试运行以下命令:
mongod --fork --syslog
npm install pm2 -g
+pm2 start mongod
+pm2 save
是一种很好的跨平台方法,可确保任何后台进程在会话之间运行。