启动时出现mongodb.service错误

时间:2018-04-22 16:37:21

标签: mongodb raspberry-pi3 raspbian

我在覆盆子-pi 3上运行mongodb 3.0.14,使用raspbian stretch 4.9.41-v7 +(32位)。一切正常,除非mongodb.service必须在系统启动期间启动。它给我以下错误消息,阻止服务启动:

  

listen():bind()失败错误:99无法为套接字分配请求的地址:192.168.1.16:27017

我的mongodb.conf档案是:

# /etc/mongodb.conf
# minimal config file (old style)
# Run mongod --help to see a list of options

bind_ip = 127.0.0.1,192.168.1.16
#port = 27017
quiet = true
dbpath = /data/db
logpath = /data/log/mongodb.log
logappend = true
storageEngine = mmapv1

我的mongodb.service档案是:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf
# (file size)
LimitFSIZE=infinity
# (cpu time)
LimitCPU=infinity
# (virtual memory size)
LimitAS=infinity
# (open files)
LimitNOFILE=64000
# (processes/threads)
LimitNPROC=64000

[Install]
WantedBy=multi-user.target

我做了几次测试,改变了[单位] He hecho varias pruebas modificando el [Unit],认为网络尚未初始化,具有以下内容:

[Unit]
Wants=network-online.target
After=network.target network-online.target
Requires=network.target network-online.target

但没有任何作用。

系统完成启动后,我可以手动启动服务,运行正常,无需提供上述错误消息,并且可以从我网络中的任何其他设备访问mongo。

知道启动中发生了什么吗?。

提前致谢。

1 个答案:

答案 0 :(得分:0)

只需将data = (item is DBNull) ? String.Empty : item属性更改为After

After=multi-user.target

更改后,请执行以下操作:

Description=High-performance, schema-free document-oriented database
After=multi-user.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf

[Install]
WantedBy=multi-user.target

它很可能会在以后运行$ systemctl daemon-reload $ systemctl enable mongodb.service