У меня 10 серверов NodeJS, работающих на 10 отдельных машинах.
Они работают с Forever, что задерживает их, если они сбой, и перезапускает их, если файл изменяется.
Я хотел бы перезапустить их, нажав кнопку на странице HTML. Поскольку nodeJS не открыт для внешнего мира, но доступен только изнутри машин, я хотел бы использовать PHP-скрипт как «мост» между внешним миром и узлом. Кнопка отправит POST-запрос на PHP-скрипт, который в некотором роде может заставить Forever перезапустить процесс NodeJS.
Первый вопрос, нужно ли иметь скрипт PHP на каждом сервере и спросить каждый из этих сценариев для перезапуска NodeJS на своей машине? Или я могу иметь один сервер с PHP-скриптом, который мог бы каким-то образом уведомить все серверы (я знаю их местные IP-адреса, конечно), чтобы перезапустить их процессы NodeJS?
Я думал об этом, отправляя сигналы процесса, но, конечно, я не могу это делать по сети.
Как вы думаете ?
В результате я использовал параметр «Смотреть» в Forever, который прослушивает изменения файлов в папке. Кнопка перезапуска обновляет файл «timestamp», который навсегда перезапускается. Из-за репликации NFS это распространяется на все машины. Не лучшее решение, я думаю, оно работает, но я с удовольствием сделаю что-то получше