我在/lib/systemd/system/mongod.service上有mongodb的服务文件
我的文件包含以下数据
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --fork --config /etc/mongod.conf
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false
# Recommended limits for for mongod as specified in
# http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings
[Install]
WantedBy=multi-user.target
所以在运行命令时如下
sudo /usr/bin/mongod --quiet --fork --config /etc/mongod.conf
我的命令运行成功,但是由于无根访问而进入服务文件,它会收到错误。
所以我想以root用户身份运行我的systemd服务文件。任何建议都会受到赞赏,并提前致谢
答案 0 :(得分:0)
mongodb.service
文件通常包括:
User=mongodb
Group=mongodb
所以你的问题在其他地方。您应该将您描述的确切错误发布为“由于无根访问而导致的错误”以及您生成它的命令。
将来,systemd
相关问题的更好网站是http://unix.stackexchange.com
答案 1 :(得分:0)
解决了将服务作为守护进程运行的问题,我必须为Mongodb数据库和User = mongodb&的日志路径提供完全权限。通过运行命令
来组= mongodbsudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown -R mongodb:mongodb /var/log/mongodb