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

Я думал о настройке cronjob для перезапуска всей системы один раз в неделю (в целях безопасности, для очистки ОЗУ в случае утечек памяти, которые я до сих пор не обнаружил ... и т.д.), Но я не уверен, как мне это сделать продолжайте процесс.

Прямо сейчас я делаю

screen
./launch_server

и отсоединить его. Является ли это хорошим способом для запуска программы, размещенной в Интернете, на сервере? Нужно ли мне что-то вроде daemontools или runit по какой-то причине?

1 ответ1

2

Ваш вопрос на самом деле является комбинацией двух вопросов:

  1. Как запустить программу при загрузке?

Используйте Upstart или systemd (скрипт в /etc/init.d), в зависимости от вашей версии.

  1. Как мне сохранить его работоспособным?

Наиболее простым подходом было бы добавить задание cron, которое проверяет, находится ли имя процесса в рабочем состоянии, и перезапускает его, если это не так. Я хотел бы дополнить это тем, что он отправит вам электронное письмо, когда обнаружит, что это так, и что если что-то случится с системой, которая постоянно убивает это, вы будете знать. Я также добавил бы запись с метками времени в программу, если у нее ее еще нет, так что вы можете иметь запись о том, когда происходят эти события.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .