Я использую CentOS 7 и Tomcat 8 для обслуживания интернет-магазина. После входа на сервер через SSH я обычно запускаю ./startup.sh
и все работает плавно, кроме одного:
Время от времени Tomcat выключается, что, конечно же, приводит к тому, что интернет-магазин недоступен, пока я не запустил ./startup.sh
снова (вручную).
У вас есть предложения, как предотвратить завершение работы Tomcat?
Хорошая идея - написать скрипт, который проверяет соединение (например, через cURL) и в случае ошибки выполняет ./startup.sh
?
Хорошая идея - написать сценарий, который проверяет соединение (например, через cURL) и в случае ошибки выполняет ./startup.sh?
Конечно, это хорошая идея! Конечно, это плохая идея!
Почему это плохая идея: вы не решаете проблему. Вы просто устраняете симптомы. Но это хорошая идея пока вы отлаживаете, потому что ваш интернет-магазин на самом деле онлайн более важно на немедленной основе.
Если бы я был на вашем месте, я бы сделал это:
Настройте механизм, чтобы Tomcat перезапускался автоматически. Монит хороший вариант для этого. Не спрашивайте меня, как его настроить, я лично им не пользуюсь.
Тогда вам нужен мониторинг. Вы должны знать, что ваш сайт работает. И вам нужно знать, когда он не работает. Даже если у вас есть автоматическая процедура перезапуска Tomcat, если вы не знаете, что Tomcat перезапускается, вы будете похожи на страуса (голова в песке, не желающая видеть опасность). Многие онлайн-сервисы могут предоставить вам уведомление бесплатно или дешево, если у вас нет собственного решения для мониторинга.
Вам нужно начать искать. Вам нужно разобраться в этом. Tomcat не исчезает просто так. Приложение, которое оно запускает, вызывает некоторые проблемы, или у вас есть повреждения в вашей ОС, нехватка памяти. Что-то. Если он действительно исчезнет, у вас, скорее всего, будет файл дампа, содержащий данные о том, что происходит. Обычно файлы дампа находятся в том же каталоге, что и ваши двоичные файлы.
Собственно устраните причину проблемы. Увидеть 5 почему подход например.