5 способов запуска Node.js в фоновом режиме в Linux

При работе с приложениями Node.js в Linux вам часто может потребоваться запускать сценарии или серверы Node.js в фоновом режиме. Это позволяет им продолжать работу даже после закрытия сеанса терминала. В этой статье мы рассмотрим пять различных методов достижения этой цели, а также примеры кода. Давайте начнем!

Метод 1: использование оператора &
Один простой способ запустить сценарий или сервер Node.js в фоновом режиме — добавить оператор &к команда. Это позволит отключить процесс от терминала и запустить его в фоновом режиме. Вот пример:

node app.js &

Метод 2: использование nohup
Команда nohup— это еще один подход к запуску процессов Node.js в фоновом режиме. Это позволяет игнорировать сигнал зависания (HUP) и продолжать выполнение процесса даже после выхода из системы. Вот как вы можете использовать nohup:

nohup node app.js &

Метод 3: использование screen
Команда screenпредоставляет мощный способ управления несколькими сеансами терминала. Он позволяет создавать виртуальные окна терминала и при необходимости отсоединять/присоединять их. Вот пример запуска Node.js в фоновом режиме с использованием screen:

screen -dmS mynodeapp node app.js

.

Метод 4: Использование systemd
systemd— популярная система инициализации, используемая во многих дистрибутивах Linux. Он предоставляет более комплексное решение для управления фоновыми службами, включая приложения Node.js. Вот шаги для запуска приложения Node.js с использованием systemd:

  1. Создайте служебный файл (например, myapp.service) в папке /etc/systemd/system/
[Unit]
Description=My Node.js Application
After=network.target
[Service]
ExecStart=/usr/bin/node /path/to/app.js
WorkingDirectory=/path/to/app
Restart=always
User=yourusername
Group=yourgroup
[Install]
WantedBy=multi-user.target
  • Запустите службу и включите ее при запуске системы:
  • sudo systemctl start myapp
    sudo systemctl enable myapp

    Метод 5. Использование pm2
    pm2— диспетчера процессов для приложений Node.js, который предоставляет расширенные функции, такие как автоматический перезапуск, ведение журнала и мониторинг. Вот как вы можете использовать pm2для запуска приложения Node.js в фоновом режиме:

    1. Установите pm2глобально, если вы еще этого не сделали:
    npm install -g pm2
    1. Запустите приложение Node.js, используя pm2:
    pm2 start app.js

    Запуск приложений Node.js в фоновом режиме в Linux необходим для обеспечения их работы даже после закрытия сеанса терминала. В этой статье мы рассмотрели пять различных методов: использование оператора &, nohup, screen, systemdи pm2. Каждый метод имеет свои преимущества, поэтому выберите тот, который лучше всего соответствует вашим требованиям. Теперь вы можете уверенно запускать свои приложения Node.js в фоновом режиме и сосредоточиться на создании потрясающих приложений!