Где PM2 сохраняет информацию о процессах, которые вы запускаете с ним? - PullRequest
0 голосов
/ 09 апреля 2020

Итак, у меня есть ряд вопросов, но сначала позвольте мне предоставить некоторую справочную информацию.

Я занимаюсь разработкой бота Discord с Node.js и использую PM2 для управления процессами. Это древовидная структура домашнего каталога VPS, на котором я его запускаю:

root@discord-bot-vps:~# tree . -L 2
.
├── bigbotupdate.sh
├── botupdate.sh
├── ecosystem.config.js
└── fcfs-bot
    ├── db
    ├── index.js
    ├── node_modules
    ├── package.json
    ├── package-lock.json
    ├── README.md
    └── src

Я изначально запустил бота с файлом экосистемы, внутри каталога fcfs-bot, в котором находится git хранилище. Файл ecosystem.config.js выглядел так:

module.exports = {
  apps : [{
    name: 'FCFS-BOT',
    script: 'index.js',
    instances: 1,
    autorestart: true,
    watch: false,
    shutdown_with_message: true,
    kill_timeout : 3000,
    time: true,
    env: {
      NODE_ENV: 'production',
      FCFS_BOT_TOKEN: 'REDACTED'
    },
  }]
};

С тех пор я переместил файл ecosystem.config.js в домашний каталог, но при запуске процесса с pm2 start ecosystem.config.js из домашнего каталога он все еще работает , Для меня это нелогично, так как я думаю, что ссылка на index.js для скрипта больше не будет работать, так как теперь она находится в подкаталоге относительно ecosystem.config.js. Однако все работает нормально.

Я пытался протестировать некоторые другие вещи, в том числе переименование ecosystem.config.js, а затем запуск процесса с pm2 start FCFS-BOT. Это также работает, что смущает меня, так как у меня сложилось впечатление, что файл экосистемы был необходим для предоставления переменных среды для процесса, как описано здесь: https://pm2.keymetrics.io/docs/usage/environment/.

  1. Как PM2 хранит эти данные и где я могу их найти?
  2. Должен ли я продолжать запускать свое приложение с pm2 start ecosystem.config.js - то есть есть ли риск того, что переменные среды будут "забыты"?
  3. Если нет, то есть ли лучший способ настроить переменные среды для приложения PM2, чем создать ecosystem.config.js, запустить его один раз, а затем удалить ecosystem.config.js?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...