Запуск сервера через PM2
В этой статье описаны шаги для запуска программного комплекса через менеджер процессов PM2.
Установка PM2
На хосте с программным комплексом необходимо установить PM2 командой:
$ sudo npm install -g pm2
Конфигурация акторов
Для всех акторов необходимо выставить режим in-memory в файле
/etc/saymon/actors.json
, например:
"RestServerWorkerActor": {
"mode": "in-memory",
"onCrash": "respawn"
}
Отключение сервиса
Если ранее на хосте программный комплекс запускался как сервис, то данный сервис необходимо остановить и отключить.
Команда для остановки сервиса:
$ sudo service saymon-server stop
Команда для отключения сервиса для systemctl:
$ sudo systemctl disable saymon-server
Команда для отключения сервиса для init:
$ rm /etc/init/{saymon-server.conf,saymon-server-binary.conf}
Запуск через PM2
Запуск программного комплекса через PM2 осуществляется командой:
$ sudo -Hu saymon pm2 start /usr/local/saymon/server/ecosystem.config.js
Чтобы сервисы стартовали автоматически при запуске операционной системы необходимо выполнить команду:
$ sudo -Hu saymon pm2 startup
Настройка журнала
Логи по каждому актору пишутся в папку /home/saymon/.pm2/logs
.
Для настройки ротации журнала необходимо создать файл с настройками
/etc/logrotate.d/pm2-saymon
и добавить в него следующее содержимое:
/home/saymon/.pm2/pm2.log /home/saymon/.pm2/logs/*.log { maxsize 100M daily missingok rotate 3 compress notifempty copytruncate }
Следующая команда очищает файлы журнала:
$ sudo -Hu saymon pm2 flush
Работа с акторами
О статусе акторов можно узнать, выполнив команду
$ sudo -Hu saymon pm2 status
Мониторинг работы акторов в режиме реального времени:
$ sudo -Hu saymon pm2 monit
Для остановки/запуска/перезапуска конкретного или всех акторов необходимо использовать следующие команды:
$ 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
Для масштабирования акторов следует использовать команду:
$ sudo -Hu saymon pm2 scale saymon-rest-server 4
где:
-
saymon-rest-server - имя актора;
-
4 - желаемое количество акторов.
При этом перезапуск программного комплекса не требуется.