시스템 시작시 Mongodb를 실행하기 위해 Systemd 유닛 파일을 만들었습니다. 또한 mongodb가 시작된 후 시작할 때 노드 응용 프로그램을 실행하는 systemd 서비스를 만들었습니다. mongodb에 대한 서비스는 정상적으로 작동하지만 노드 응용 프로그램에 대한 내 서비스가 어떤 이유로 실행하려고 시도하고 "MongoError : 첫 번째 연결시 서버 [localhost : 27017]에 연결하지 못했습니다."라는 오류가 발생합니다. $systemctl start mongodb
을 사용하여 mongodb 서비스를 시작한 다음 $/usr/bin/node /node_app_slot/server.js
을 사용하여 노드 응용 프로그램을 시작하면 제대로 작동하는 것 같습니다. 그래서 문제는 내 노드 서버에 대한 내 systemd 유닛 파일과 관련된 것 같습니다.노드 서버용 Systemd 서비스가 MongoDB에 연결할 수 없습니다.
[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를 사용하여 액세스 포인트 모드로 설정합니다
나는 https://gist.github.com/jwilm/5842956그리고 여기 내 node_server.service 인 MongoDB를 systemd 서비스를 위해이를 사용했다. 운영 체제는 Yocto이며 최신 릴리스의 최신 버전입니다.
나는 어디로 잘못 가고 있는지 알 수 없다. 누군가가 올바른 방향으로 나를 안내 할 수 있다면 정말 고마워 할 것입니다!
감사합니다.
MongoDB를 서버가 실제로 들어오는 연결을 수신하기 시작하는 것이 시간이 걸릴 수 있습니다 궁금. 어딘가에서 수면을 삽입하여 10 초 정도 후에 수면을 받아 들일 수 있습니까? – robertklep
mongodb 로그를 보셨습니까? mongodb이 연결을 수락 할 준비가되면 nodejs 요청을 확인해야합니다. – NotBad4U
또한 실패한 대신 연결을 다시 시도하는 것이 좋습니다 (아마도 연결 시도를 기하 급수적으로 중단하여) – nir0s