Лучший способ запустить скрипт Node.js как сервис в Ubuntu? - PullRequest
0 голосов
/ 22 мая 2018

У меня есть скрипт node.js, который синхронизирует мою базу данных MongoDB и базу данных CRM в режиме реального времени.

Я хочу запустить этот скрипт в качестве фоновой задачи на моем сервере Ubuntu, я нашел это решение, но оно не работает для меня.Есть ли другой способ достичь этого?

1 Ответ

0 голосов
/ 22 мая 2018

Если вы просто хотите запустить свое приложение, вы можете использовать Навсегда или PM2 для запуска и автоматического перезапуска при сбое. Однако это не фоновая задача .

Для фоновой задачи, которая запускается при перезагрузке сервера, ссылка, которую вы связали, является правильным способом.Если это не сработало, возможно, эта статья поможет вам.Это с официального сайта Express: https://expressjs.com/en/advanced/pm.html#systemd

В основном вы создаете

[Unit]
Description="My Express App"

[Service]
ExecStart=/usr/bin/node server.js
WorkingDirectory=/project/absolute/path
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=MyApp
Environment=NODE_ENV=production PORT=8080

[Install]
WantedBy=multi-user.target

в файл /etc/systemd/system/my-app.service и затем используете systemctl для его запуска:

systemctl enable my-app.service
systemctl start my-app.service

Теперь предполагается, что ваш дистрибутив Linux работает с systemctl.Если ваш linux-дистрибутив работает с upstart или чем-то еще, вам нужно найти в Google инструкцию для этого менеджера процессов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...