我已经创建了一个Systemd单元文件来在系统启动时运行Mongodb。在mongodb启动后,我还创建了一个systemd服务来在启动时运行我的节点应用程序。 mongodb的服务工作正常,但由于某种原因,我为Node应用程序的服务尝试运行,然后出现错误:“MongoError:第一次连接时无法连接到服务器[localhost:27017]”。如果我使用$systemctl start mongodb
启动mongodb服务,然后使用$/usr/bin/node /node_app_slot/server.js
启动我的Node应用程序,它似乎工作正常。所以这个问题似乎与我的节点服务器的systemd单元文件有关。节点服务器的系统服务无法连接到MongoDB
我用这对MongoDB的systemd服务https://gist.github.com/jwilm/5842956
这里是我的node_server.service:
[Unit]
Wants=network.target mongodb.service
After=network.target mongodb.service
[Service]
ExecStart=/usr/bin/node /node_app_slot/server.js
[Install]
WantedBy=multi-user.target
IM在英特尔爱迪生这样使用hostapd成立于接入点模式。操作系统是Yocto,并且与最新版本保持同步。
我看不到我哪里出错了。如果有人能指引我朝着正确的方向,我会非常感激!
谢谢!
我不知道这可能需要一段时间MongoDB服务器真正开始接受传入的连接。你可以在某处插入睡觉,看看它是否会在10秒左右后接受它们? – robertklep
你看看你的mongodb日志吗?如果mongodb准备好接受连接,您必须看到您的nodejs请求。 – NotBad4U
此外,重试连接而不是失败也许是有意义的(也许通过指数退避连接尝试) – nir0s