Tomcat работает? - PullRequest
       9

Tomcat работает?

97 голосов
/ 15 октября 2010

Интересно узнать, как люди обычно проверяют, работает ли Tomcat в среде Unix.

Я либо проверяю, запущен ли процесс, используя

ps -ef | grep java
ps -ef | grep logging

или я проверяю, активен ли номер порта

netstat -a | grep 8080

есть ли лучший способ проверить, работает ли Tomcat? Вышеприведенное, кажется, является «хакерским» способом проверки того, что Tomcat работает.

Ответы [ 17 ]

80 голосов
/ 09 августа 2012

В моей системе Linux я запускаю Tomcat со скриптом startup.sh.Чтобы узнать, работает он или нет, я использую

ps -ef | grep tomcat  

Если в результате вывода содержится полный путь к моей папке tomcat, значит, он работает

63 голосов
/ 30 января 2014

попробуйте это вместо этого, и поскольку для этого требуются права суперпользователя, используйте sudo

sudo service tomcat7 status
52 голосов
/ 17 октября 2010

Почему grep ps, когда pid был записан в файл $CATALINA_PID?

У меня есть скрипт проверки cron 'd, который отправляет электронное письмо, когда tomcat не работает:

kill -0 `cat $CATALINA_PID` > /dev/null 2>&1
if [ $? -gt 0 ]
then
    echo "Check tomcat" | mailx -s "Tomcat not running" support@dom.com
fi

Полагаю, вы также можете использовать wget для проверки здоровья вашего кота.Если у вас есть страница диагностики с пользовательской загрузкой и т. Д., Вы можете периодически извлекать ее и анализировать, чтобы определить, происходит ли что-то не так.

13 голосов
/ 15 октября 2010

netstat -lnp | grep 8080, вероятно, будет лучшим способом, если вы знаете порт прослушивания Tomcat.Если вы хотите быть уверенным в его работоспособности, вам нужно установить соединение, отправить запрос HTTP и получить ответ.Вы можете сделать это программно или с помощью любого веб-браузера.

7 голосов
/ 10 марта 2013

Если tomcat установлен локально, введите следующий URL-адрес в окне браузера: {localhost: 8080}

Это отобразит домашнюю страницу Tomcat со следующим сообщением.

Есливы видите это, вы успешно установили Tomcat.Поздравляем!

Если tomcat установлен на отдельном сервере, вы можете ввести вместо localhost действительное имя хоста или Iess, где установлен tomcat.

Вышеуказанное относится к стандартной установке, в которойTomcat использует порт по умолчанию 8080

6 голосов
/ 27 декабря 2013

Вы можете проверить статус tomcat следующими способами:

ps -ef | grep tomcat  

Возвращает путь кота, если кот работает

netstat -a | grep 8080

, где 8080 - порт tomcat

4 голосов
/ 28 марта 2018

Создайте сценарий оболочки, который проверяет, находится ли tomcat вверх или вниз, и установите cron для sh, чтобы он проверял каждые несколько минут, и автоматически запускайте tomcat, если он выключен.Пример кода ниже

TOMCAT_PID=$(ps -ef | awk '/[t]omcat/{print $2}')
echo TOMCAT PROCESSID $TOMCAT_PID

if [ -z "$TOMCAT_PID" ]
then
    echo "TOMCAT NOT RUNNING"
    sudo /opt/tomcat/bin/startup.sh
else
   echo "TOMCAT RUNNING"
fi
4 голосов
/ 28 января 2016

wget url или curl url, где url - это URL-адрес сервера Tomcat, который должен быть доступен, например: wget http://localhost:8080.Затем проверьте код выхода, если он равен 0 - tomcat активен.

3 голосов
/ 02 июля 2014

Я всегда делаю

tail -f logs/catalina.out

Когда я вижу там

INFO: Server startup in 77037 ms

, я знаю, что сервер работает.

3 голосов
/ 15 октября 2010

Я обнаружил, что Tomcat довольно привередлив в том, что запущенный процесс или открытый порт не обязательно означает, что он фактически обрабатывает запросы. Я обычно пытаюсь получить известную страницу и сравнить ее содержимое с предварительно вычисленным ожидаемым значением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...