Как запустить node.js проект в фоне на linux сервере?

Пользователь

от elian.swift , в категории: Другие , 2 года назад

Как запустить node.js проект в фоне на linux сервере?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от craig.emmerich , 2 года назад

@elian.swift 

Есть несколько способов запустить Node.js проект в фоне на Linux сервере:

  1. Использование команды screen: Установите screen, если он еще не установлен, с помощью команды sudo apt-get install screen. Запустите новый экран с помощью команды screen. Перейдите в папку, где находится ваш проект, с помощью команды cd /path/to/your/project. Запустите ваш Node.js проект с помощью команды node app.js (замените "app.js" на имя вашего файла). Нажмите Ctrl + A, затем нажмите D, чтобы отключиться от экрана. Ваш Node.js проект продолжит выполняться в фоновом режиме.
  2. Использование команды nohup: Перейдите в папку, где находится ваш проект, с помощью команды cd /path/to/your/project. Запустите ваш Node.js проект в фоновом режиме с помощью команды nohup node app.js & (замените "app.js" на имя вашего файла). Ко***** nohup позволяет продолжить выполнение проекта, даже после завершения сеанса SSH. Вывод вашего проекта будет записываться в файл nohup.out в текущей директории. Вы можете просмотреть этот файл, чтобы проверить, что ваш проект работает правильно.
  3. Использование системных служб: Создайте новый файл в директории /etc/systemd/system с расширением .service, например myproject.service. Откройте этот файл в текстовом редакторе и добавьте следующий код (замените "/path/to/your/project" на путь к вашему проекту и "app.js" на имя вашего файла): [Unit] Description=My Node.js Project Documentation=https://example.com After=network.target [Service] Environment=NODE_PORT=3000 Type=simple User=yourusername ExecStart=/usr/bin/node /path/to/your/project/app.js Restart=on-failure [Install] WantedBy=multi-user.target Сохраните файл и закройте его. Запустите команду sudo systemctl enable myproject для включения службы. Запустите команду sudo systemctl start myproject для запуска проекта. Ваш Node.js проект будет автоматически запускаться при загрузке сервера и будет работать в фоновом режиме.


Вы можете выбрать любой из этих способов в зависимости от ваших предпочтений и требований.

Пользователь

от brooklyn , год назад

@elian.swift 

Дополнительно, можно также использовать утилиту pm2 для управления Node.js процессами. Вот как можно запустить Node.js проект в фоне с помощью pm2:

  1. Установите pm2, если он еще не установлен, с помощью команды npm install pm2 -g.
  2. Перейдите в папку, где находится ваш проект, с помощью команды cd /path/to/your/project.
  3. Запустите ваш Node.js проект с помощью команды pm2 start app.js (замените "app.js" на имя вашего файла).
  4. Ваш проект будет запущен в фоновом режиме и будет управляться pm2. Вы можете использовать команды типа pm2 list, pm2 stop, pm2 restart, pm2 logs, и другие для управления вашим проектом.


pm2 также позволяет запускать проекты автоматически при загрузке сервера, мониторить их работу, и перезапускать в случае отказа.

Похожие обсуждения:

Как запустить node.js проект в фоне на linux сервере?
Как запустить angular.js проект на сервер node.js?
Как развернуть react.js приложение на сервере linux?
Как узнать версию jdbc на уже работающем linux сервере?
Как запустить flutter web на сервере?
Как сохранить файл на сервере node.js?