Запуск сервера через PM2

Запуск сервера через PM2

Запуск сервера через PM2 ​

В этой статье описаны шаги для запуска программного комплекса через менеджер процессов PM2.

Установка PM2 ​

На хосте с программным комплексом необходимо установить PM2 командой:

console
$ sudo npm install -g pm2

Конфигурация акторов ​

Для всех акторов необходимо выставить режим in-memory в файле /etc/saymon/actors.json, например:

json
"RestServerWorkerActor": {
    "mode": "in-memory",
    "onCrash": "respawn"
}

Отключение сервиса ​

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

Команда для остановки сервиса:

console
$ sudo service saymon-server stop

Команда для отключения сервиса для systemctl:

console
$ sudo systemctl disable saymon-server

Команда для отключения сервиса для init:

console
$ rm /etc/init/{saymon-server.conf,saymon-server-binary.conf}

Запуск через PM2 ​

Запуск программного комплекса через PM2 осуществляется командой:

console
$ sudo -Hu saymon pm2 start /usr/local/saymon/server/ecosystem.config.js

Чтобы сервисы стартовали автоматически при запуске операционной системы необходимо выполнить команду:

console
$ sudo -Hu saymon pm2 startup

Настройка журнала ​

Логи по каждому актору пишутся в папку /home/saymon/.pm2/logs.

Для настройки ротации журнала необходимо создать файл с настройками /etc/logrotate.d/pm2-saymon и добавить в него следующее содержимое:

text
/home/saymon/.pm2/pm2.log /home/saymon/.pm2/logs/*.log {
  maxsize 100M
  daily
  missingok
  rotate 3
  compress
  notifempty
  copytruncate
}

Следующая команда очищает файлы журнала:

console
$ sudo -Hu saymon pm2 flush

Работа с акторами ​

О статусе акторов можно узнать, выполнив команду

console
$ sudo -Hu saymon pm2 status

Мониторинг работы акторов в режиме реального времени:

console
$ sudo -Hu saymon pm2 monit

Для остановки/запуска/перезапуска конкретного или всех акторов необходимо использовать следующие команды:

console
$ sudo -Hu saymon pm2 start all - запуск всех акторов
$ sudo -Hu saymon pm2 restart all - перезапуск всех акторов
$ sudo -Hu saymon pm2 stop all - остановка всех акторов

$ sudo -Hu saymon pm2 start 4 5 - запуск акторов с номерами 4 и 5
$ sudo -Hu saymon pm2 restart 4 5 - перезапуск акторов с номерами 4 и 5
$ sudo -Hu saymon pm2 stop 4 5 - остановка акторов с номерами 4 и 5

Для масштабирования акторов следует использовать команду:

console
$ sudo -Hu saymon pm2 scale saymon-rest-server 4

где:

  • saymon-rest-server – имя актора;
  • 4 – желаемое количество акторов.

При этом перезапуск программного комплекса не требуется.