System V init 服务无法识别 mongod

System V init 服务无法识别 mongod

我一直在关注官方指南用于安装 mongodb 但它不会作为服务运行。当我尝试时

$ whereis mongod
mongod: /usr/bin/mongod /etc/mongod.conf /usr/share/man/man1/mongod.1.gz

但请远离启动服务的指南

$ sudo service mongod start
mongod: unrecognized service

答案1

貌似无法安装mongodb-org-服务器包裹如果你没有systemd即使 mongodb 文档上有关于安装后配置它的部分。为了使其工作,我从他们那里下载了软件包下载中心对于我的发行版,找到并分析了服务脚本。

ExecStart=/usr/bin/mongod --config /etc/mongod.conf

所以为了运行服务器只需确保您有来自您的文件夹mongod.confmongod.conf本身。您可能在安装失败后拥有这些文件,但即使没有,您也可以创建文件夹并获取mongod.conf从下载的存档中。默认情况下,它们是文件夹/var/lib/mongodb 和 /var/log/mongodb如果它们不存在并且位置不存在,请使用此命令创建它们mongod.conf/etc/mongod.conf

sudo mkdir -p /var/log/mongodb /var/lib/mongodb

此外,您还必须确保正在运行的用户有访问文件夹的权限。如果这不是您当前的用户,请将该用户代替“whoami”

sudo chown `whoami` /var/lib/mongodb /var/log/mongodb/

现在您可以手动运行服务器

mongod --config /etc/mongod.conf

这是全部mongod.server如果有人感兴趣的话可以从存档中

[Unit]
Description=MongoDB Database Server
Documentation=https://docs.mongodb.org/manual
After=network-online.target
Wants=network-online.target

[Service]
User=mongodb
Group=mongodb
EnvironmentFile=-/etc/default/mongod
ExecStart=/usr/bin/mongod --config /etc/mongod.conf
PIDFile=/var/run/mongodb/mongod.pid
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# locked memory
LimitMEMLOCK=infinity
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false

# Recommended limits for mongod as specified in
# https://docs.mongodb.com/manual/reference/ulimit/#recommended-ulimit-settings

[Install]
WantedBy=multi-user.target

答案2

检查ls /etc/init.d/*mongo*和的输出service --status-all 以找出确切的服务名称

必须知道您的系统中使用了什么 init 系统。

谷歌搜索给你:

https://wiki.debian.org/Init#Determining_the_init_system

从您的链接(https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-debian/):

最新版本的 Linux 倾向于使用 systemd(使用 systemctl 命令),而旧版本的 Linux 倾向于使用 System V init(使用 service 命令)。

您可以通过发出以下命令来启动 mongod 进程:

sudo systemctl 启动 mongod

相关内容