PM2 убивает каждые 90 секунд на centos 8 - PullRequest
2 голосов
/ 09 июля 2020

Я только что установил CentOS 8 и добавил nodejs (пробовал v12 и v14) А затем я установил pm2, используя npm install pm2@latest (так что во время публикации он использует v4.4.0). Я пробовал старую версию (v3.5.0), но она делает то же самое.

и после установки pm2 я выполнил команду «pm2 startup»

после перезапуска, pm2 запускается, но завершается через 90 секунд, а затем перезапускается, выдавая это сообщение

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

Сначала я подумал было из-за моего приложения (того, которым должен управлять pm2), но я удалил его из pm2, поэтому оно практически пустое, но делает то же самое

1 Ответ

0 голосов
/ 02 августа 2020

Более позднее обновление. Для тех, кто сталкивается с такими же проблемами. Это проблема, связанная с SE Linux. Известные обходные пути (те, которые я обнаружил).

  1. Отключение SE Linux (очевидно, не рекомендуется)

  2. go в / etc /systemd/system/pm2-root.service - комментарий PIDFile = ... (добавьте # перед этой строкой)

  3. Аудит и трассировка - используйте следующие команды:

     # dnf install policycoreutils-python-utils setroubleshoot-server -y
     # journalctl -f
    

    На этом этапе вы должны увидеть решение в выводе (журнале), оно должно быть примерно таким:

    # ausearch -c 'systemd' --raw | audit2allow -M my-systemd
    # semodule -i my-systemd.pp
    

    Вам нужно выполнить последний шаг (ausearch .. . и semodule ...) дважды - я сделал это один раз, перезапустил машину и заметил ту же проблему через 90 секунд. Но если вы внимательно прочитаете журнал, вы заметите, что проблема, похоже, повторяется дважды. (выглядит так же). Вероятно, две вещи пытаются записать в этот файл (pm2- root .service).

Все еще ждут идеального решения (сделано человеком, который действительно знает, как это исправить должным образом), но для тех, у кого есть эта проблема, любой из этих вариантов, похоже, работает нормально.

...