繁体   English   中英

在Google Compute Engine实例启动时运行mongoDB

[英]Running mongoDB on startup on Google Compute Engine instance

我将Mongo设置为在GCE实例上运行。

最初,我在/中工作,并使用sudo mongod启动mongo,但是合理地,它会打印一些警告:

警告:您正在以root用户身份运行此过程,不建议这样做。

因此,我将所有内容移至/home/my_google_account ,并且可以通过SSH进入并运行mongod

现在,我想在启动时执行一些操作,包括mongod 据我了解,正确的方法是使用Google启动脚本 :在控制台中,您可以提供以下脚本作为元数据键值对:

#! /bin/bash
apt-get update
mongod -f /home/my_google_account/mongod.conf

它可以工作 ,但是正如Google所说,这是作为root执行的:

实例始终以root用户身份执行启动脚本,并且仅在创建任何实例SSH密钥包含在实例元数据中的新用户后才执行这些脚本。

因此,mongod进程是使用root特权运行的,我仍然得到我原来的警告:

警告:您正在以root用户身份运行此过程,不建议这样做。

我该怎么办?

有没有一种方法可以使启动脚本不以root用户身份运行? 还是我应该只使用sudo s /并完全忽略警告? 似乎每个人都建议您使用用户的主文件夹,获取必要的权限,并使用特权运行mongod。 但是无论如何,启动脚本仍将以root身份运行!

试试这个-将用户添加到您的永久磁盘-

useradd -ms /bin/bash mongouser
#replace /data/db with your data location
chown -R mongouser /data/db

将此添加到您的starup脚本

apt-get update
sudo mongouser -c 'mongod -f /home/my_google_account/mongod.conf'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM