Я собираюсь предположить, что вы действительно хотите запускать свой js скрипт при запуске / перезагрузке сервера вместо того, чтобы писать bash скрипт для этого.
Не пишите скрипт для этого. PM2 может автоматически записывать его за вас.
Все, что вам нужно сделать, это убедиться, что PM2 запускает все сценарии, которые вы хотите запустить при запуске / перезагрузке сервера.
Убедитесь, что PM2 только запускает сценарии, которые вы хотите запустить при запуске системы. При необходимости запустите pm2 delete all
, чтобы остановить все сценарии, затем выполните обычные команды PM2 для запуска ваших сценариев:
pm2 start index.js --watch
pm2 start index2.js --watch
Сохраните текущую конфигурацию PM2:
pm2 save
Это сохранит текущий сеанс PM2 в файле конфигурации. Примечание: запустите pm2 save
от имени того же пользователя, что и ваши скрипты. Например, если вы запускаете свои сценарии как пользователь naxey
, затем запустите pm2 save
как naxey
.
Попросите PM2 написать для вас сценарий запуска, запустив:
pm2 startup
Затем следуйте инструкциям. Опять же, запустите его от имени того же пользователя, с которым вы запускаете свою программу. Но следуйте инструкциям pm2 startup
. Например, если pm2 startup
выводит команду и просит вас запустить ее как root, тогда скопируйте / вставьте команду и запустите эту команду как root либо через sudo
, либо su
, либо через root логин. .
После установки сценария запуска PM2 в любое время вам нужно изменить то, что вы хотите запускать при запуске / перезагрузке системы, все, что вам нужно сделать, это запустить pm2 save
, чтобы повторно сохранить Сессия PM2.
Запуск PM2, используемый для поддержки Windows, но в настоящее время он больше не поддерживает Windows, но по-прежнему поддерживает большинство Linux дистрибутивов, BSD и OSX
См. Документацию PM2 для подробнее: https://pm2.keymetrics.io/docs/usage/startup/