При работе с приложениями 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: Использование systemdsystemd— популярная система инициализации, используемая во многих дистрибутивах Linux. Он предоставляет более комплексное решение для управления фоновыми службами, включая приложения Node.js. Вот шаги для запуска приложения Node.js с использованием systemd:
- Создайте служебный файл (например,
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. Использование pm2pm2— диспетчера процессов для приложений Node.js, который предоставляет расширенные функции, такие как автоматический перезапуск, ведение журнала и мониторинг. Вот как вы можете использовать pm2для запуска приложения Node.js в фоновом режиме:
- Установите
pm2глобально, если вы еще этого не сделали:
npm install -g pm2
- Запустите приложение Node.js, используя
pm2:
pm2 start app.js
Запуск приложений Node.js в фоновом режиме в Linux необходим для обеспечения их работы даже после закрытия сеанса терминала. В этой статье мы рассмотрели пять различных методов: использование оператора &, nohup, screen, systemdи pm2. Каждый метод имеет свои преимущества, поэтому выберите тот, который лучше всего соответствует вашим требованиям. Теперь вы можете уверенно запускать свои приложения Node.js в фоновом режиме и сосредоточиться на создании потрясающих приложений!