Node 服务器的 Systemd 服务无法连接到 MongoDB

Myatt95

我创建了一个 Systemd 单元文件来在系统启动时运行 Mongodb。我还创建了一个systemd服务,以便在启动mongodb后在启动时运行我的节点应用程序。mongodb 服务工作正常,但由于某种原因,我的 Node 应用程序服务尝试运行,然后出现错误:“MongoError:首次连接时无法连接到服务器 [localhost:27017]”。如果我使用启动 mongodb 服务$systemctl start mongodb,然后使用$/usr/bin/node /node_app_slot/server.js启动我的 Node 应用程序似乎工作正常。所以问题似乎出在我的 Node 服务器的 systemd 单元文件上。

我将它用于 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

我在使用 hostapd 在接入点模式下设置的 intel edison 上执行此操作。操作系统是 Yocto 并且是最新的最新版本。

我看不出我哪里出错了。如果有人能指导我朝着正确的方向前进,我将不胜感激!

谢谢!

马克·斯托斯伯格

您的systemd语法是正确的,尽管您可能想使用network-online.target代替network.target

要考虑的解决方法是在 MongoDB 应用程序启动之前添加 5 秒睡眠。由于这是在服务器启动时发生的,因此额外的 5 秒不太可能产生实际影响,但可能会解决您的问题。

 ExecStartPre=/bin/sleep 5

奇怪的是,systemd当 MongoDB 附带自己的systemd服务文件,您正在从 Internet复制/粘贴 MongoDB服务文件。你没有提到你的操作系统版本、systemd 版本或 MongoDB 版本,但MongoDB如果不使用文件附带的MongoDB 版本,我仍然建议参考官方的systemd 配置文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法连接到远程mongodb服务器

Node.js或去mongodb服务器

通过节点服务器连接到MongoDB的警告

连接到MongoDb Atlas服务器时出错

Mongodb:首次连接时无法连接到服务器

使用Ionic连接到MongoDB远程服务器

使用Docker的MongoDB在“首次连接时无法连接到服务器[localhost:27017]”

MongoDB无法连接到服务器127.0.0.1:27017连接尝试失败

MongoDB无法连接到服务器

无法连接到远程mongodb服务器

Mongodb无法连接到本地服务器

Express-无法连接到MongoDB服务器

连接到远程mongoDB服务器

MongoDB服务器选择超时与Nginx,Node.js

错误:“无法连接到MongoDB Atlas集群中的任何服务器”

从终端查询MongoDB数据库:[MongoError]:无法连接到服务器

NodeJS无法连接到服务器ECONNREFUSED上的MongoDB

MongoNetworkError:首次连接时无法连接到服务器[mongodb:27017]

MongooseServerSelectionError:使用Minikube时无法连接到MongoDB Atlas集群中的任何服务器

MongoDB无法连接本地服务器

MongoDB安装后错误,无法连接到服务器

无法连接到Android中的Node JS服务器

使用mongodb错误运行node.js服务器

节点JS猫鼬无法连接到远程mongodb服务器

连接到 amazon cloudformation 创建的 mongodb 服务器

无法连接到mongodb服务

无法通过 app.js 连接到本地 MongoDB 服务器

如何将 Vue 应用程序连接到服务器(Node、MongoDB)?

如何通过 swi prolog 连接到 MongoDB 服务器?