Skip to content

Instantly share code, notes, and snippets.

@tomasevich
Last active December 3, 2022 09:29
Show Gist options
  • Save tomasevich/6578789a8fb41f89af0a68bec0c12338 to your computer and use it in GitHub Desktop.
Save tomasevich/6578789a8fb41f89af0a68bec0c12338 to your computer and use it in GitHub Desktop.
NodeJS как сервис (Linux)

NodeJS как сервис (Linux)

О гайде

Если требуется добавить NodeJS в автозагрузку на сервере (Debian, Centos, RedHat и т.п.), читаем дальше!

Альтернативное решение - использовать pm2

Настройка

nodejs-application - далее (по тексту) будет использоваться как название приложения (портала, сайта)

  1. Создаем файл конфигурации
touch /etc/systemd/system/nodejs-application.service
  1. Вносим содержимое и сохраняем
[Service]
WorkingDirectory=/var/www/nodejs-application
ExecStart=/usr/bin/node app.js
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodejs-application
User=nodejs
Group=nodejs
Environment='NODE_ENV=production'

[Install]
WantedBy=multi-user.target
  1. Активируем сервис
systemctl enable nodejs-application
  1. Запускаем сервис:
systemctl start nodejs-application

Администрирование

Проверка статуса и логов ни чем не отличается от других сервисов

systemctl status nodejs-application

или

journalctl -u nodejs-application

Важно

Пользователь nodejs должен быть создан.

Не запускайте ПО на сервере от пользователя root без веских аргументов!

P.s.:

Надеюсь, эта информация будет вам полезна.

Буду благодарен, если вы укажите на ошибки или внесете рекомендации в комментариях ниже!

Для более компфортного диалога

@tomasevich
Copy link
Author

Brew make better!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment