Category Archives: Apache Tomcat

Вопросы, касающиеся установки, настройки и работы Java-севрера Apache Tomcat (Catalina)

JIRA: ручная установка на Debian

04/25/2016
 

 Установка JIRA 7.1.4 на Debian 8 Jessie в Vagrant-бокс. Подготовка Vagrant бокса и ОС Установка MySQL/MariaDB Установка Java Установка и настройка JIRA Установка и настройка NGINX Завершение установки Подготовка Vagrant бокса и ОС Создаем машину: $ vagrant init debian/jessie64 Редактируем файл Vagrantfile, настраиваем сеть и добавляем памяти: … config.vm.network “public_network” … config.vm.provider “virtualbox” do |vb| vb.memory =… Read More »

ELK: Elasticsearch+Logstash+Kibana — логи Tomcat и подключение двух удалённых хостов

09/13/2015
 

 Имеется два QA сервера – один в дата-центре Ирландии, другой – в США. Требуется собирать с них логи catalina.out и передавать на центральный сервер Logstash. Повторяем установку Logstash Forwarder, как это описано в посте ELK: Elasticsearch+Logstash+Kibana — добавление удалённого хоста и настройка Logstash Forwarder – и приступаем к настройке, например – файл конфигурации с QA-сервера из США:

Nagios: мониторинг Tomcat

07/03/2015
 

 Плагин написан на Python. Имеет возможность отслеживать статус, использование памяти, количество потоков и .т.д. Предполагается, что Nagios установлен согласно посту Nagios: установка на CentOS 7 + NGINX. Загружаем файл плагина: # cd /tmp # wget https://github.com/dduenasd/check_tomcat.py/archive/v2.0.tar.gz # tar xfp v2.0.tar.gz # cd check_tomcat.py-2.0

CentOS: установка Tomcat 7 из репозитория с помощью yum

06/24/2015
 

 Установить Tomcat 7 можно из репозитория JPackage 6. Устанавливаем сам репозиторий: # yum localinstall http://mirrors.dotsrc.org/jpackage/6.0/generic/free/RPMS/jpackage-release-6-3.jpp6.noarch.rpm Обновляем установленные приложения: # yum update

Tomcat: включить JMX-коннектор

06/19/2015
 

 Задача – добавить JMX, что бы девелоперы могли мониторить состояние сервера с помощью VisualVM. Tomcat установлен из пакетов, с помощью yum. Создаём файл /usr/share/tomcat7/bin/setenv.sh. В него вписываем параметры JMX: #!/usr/bin/env bash export JAVA_OPTS=”-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=54.***.***.65″

Tomcat: Tomcat did not stop in time. PID file was not removed.

09/03/2014
 

 Когда приложение в Tomcat-а становится достаточно большим, при выключении сервера можно увидеть такое сообщение: $ ./bin/shutdown.sh Using CATALINA_BASE: /home/user/APP/app-server Using CATALINA_HOME: /home/user/APP/app-server Using CATALINA_TMPDIR: /home/user/APP/app-server/temp Using JRE_HOME: /home/user/APP/Java/jdk1.6.0_45/jre Using CLASSPATH: /home/user/APP/app-server/bin/bootstrap.jar:/home/user/APP/app-server/bin/tomcat-juli.jar Using CATALINA_PID: /home/lms/APP/app-server/conf/catalina.pid Tomcat did not stop in time. PID file was not removed. To aid diagnostics a thread dump has been written to… Read More »

BASH: консольный график использования памяти Java-машиной

07/10/2014
 

 Задача – сделать консольную утилиту, которая выводила бы информацию аналогично visualvm – Used heap + писать в лог. Для получения данных от Java-машины – используем jmap. Предполагается, что мониторить мы будем Tomcat с заданной переменной CATALINA_PID.

Tomcat: log4j – Cannot set web app root system property when WAR file is not expanded

06/18/2014
 

 При запуске Tomcat с установленным параметром unpackWARs=”false” – приложение падает с ошибкой: Jun 17, 2014 5:47:12 PM org.apache.catalina.core.StandardContext listenerStart SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.util.Log4jConfigListener java.lang.IllegalStateException: Cannot set web app root system property when WAR file is not expanded Как видно из ошибки – проблема вызвана Log4jConfigListener.

Tomcat: autoDeploy="true" – деплой приложения без перезапуска сервера

06/05/2014
 

 У Tomcat имеется удобная возможность для обновления приложения без остановки самого сервера. Включается она опцией autoDeploy=”true” в описании элемента <Host> файла server.xml . Рассмотрим его работу на примере. Имеется приложение: $ curl http://localhost:8084 First file

Tomcat: подключение внешнего файла в конфигурацию server.xml

06/03/2014
 

 Задача – иметь возможность подключить дополнительную конфигурацию в файл server.xml сервера Tomcat. Так как сам файл конфигурации server.xml является простым XML-файлом, то и выполнять это мы будем с помощью XML entity includes. В начале файла добавляем строки: <!DOCTYPE server [ <!ENTITY jdbcrealm SYSTEM “jdbcrealm.xml”> ]>