[英]How to connect to my Compute Engine MongoDB instance from Google Cloud Functions using the internal IP?
[英]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.