Category Archives: Apache Tomcat

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

Tomcat: опции catalina.sh

06/02/2014
 

 Сервер Apache Tomcat можно запускать/останавливать не только с помощью скриптов bin/startup.sh и bin/shutdown.sh – но и напрямую вызывая скрипт catalina.sh, передавая ему нужный аргумент. Если рассмотреть скрипт bin/startup.sh – то всё, что он делает – это вызывает сам catalina.sh передавая ему команду start и полученные аргументы: …PRGDIR=`dirname “$PRG”` EXECUTABLE=catalina.sh … exec “$PRGDIR”/”$EXECUTABLE” start “$@”

Tomcat: трюки – использование переменной CATALINA_PID

05/29/2014
 

 Среди прочих приятных мелочей в Apache Tomcat – есть такая переменная, как CATALINA_PID. Единственная её задача – хранение значения PID (Process ID) запущенного сервера Tomcat, который потом можно использовать для разных полезных вещей – например, получать jstack, вызывая его через скрипт, или проверять статус Tomcat-a (запущен/остановлен). Рассмотрим пример использования. Устанавливаем переменную: $ echo “export CATALINA_PID=”$CATALINA_HOME/conf/catalina.pid””… Read More »

Tomcat: трюки – использование переменных в server.xml

05/27/2014
 

 Задача – определить порт для коннекторов во время запуска Apache Tomcat. Имеется сервер, на котором запускается несколько экземпляров Tomcat, от разных пользователей. У каждого пользователя есть свой скрипт startup.sh, расположенный, к примеру, в домашней директории – в нём мы создадим перебор переменной ENV (environment) -и в зависимости от неё будем задавать порты Tomcat-а. Переменная ENV… Read More »

Tomcat: аутентификация пользователей с помощью JDBCRealm и MySQL или Oracle

12/16/2013
 

 Apache Tomcat имеет несколько механизмов аутентификации. По-умолчанию используется UserDatabaseRealm, который использует данные из файла ../conf/tomcat-users.xml. Задача – перенастроить Tomcat на использование механизма JDBCRealm с использованием базы данных (MySQL, Oracle). Для примера возьмём такие настройки пользователя и его роли (группы):

Tomcat: ограничение доступа с помощью файла web.xml

12/13/2013
 

 Файл web.xml, называемый “дескриптор развёртывания” (приложения) – одна из наиболее важных частей Java EE web-приложений. Настройки безопасности, осуществляемые с помощью этого файла, полностью регулируют поведение веб-контейнера, для которого он назначен. Потому, понимание его основ и главных принципов построения такой защиты необходимое условие для корректной и безопасной работы как самого сервера Tomcat, так и веб-приложений в… Read More »

Tomcat: авторизация пользователей по RSA-ключам

11/29/2013
 

 Задача: ограничить доступ к серверу со стороны клиентов, и разрешить доступ только тем, у кого есть выданный нами RSA-ключ. Общую информацию об SSL можно найти в Wikipedia>>>. Настройка HTTPS для Apache HTTP Server описана тут>>>. Для начала – настроим Tomcat для работы через SSL. Создадим ключ для самого Tomcat:

Windows: bat-файл для остановки Tomcat с помощью taskkill

11/07/2013
 

 Одна из сборок Apache Tomcat отказывается останавливаться стандартным shutdown.bat: >shutdown.bat Using CATALINA_BASE:   C:Opttomcat_8080 Using CATALINA_HOME:   C:Opttomcat_8080 Using CATALINA_TMPDIR: C:Opttomcat_8080temp Using JRE_HOME:        C:Optjdk1.6.0_32x64jre Using CLASSPATH:       C:Opttomcat_8080binbootstrap.jar The process cannot access the file because it is being used by another process. Оставалось несколько tread-ов в памяти, и Tomcat висел в процессах. Конечно, можно “убить” процесс вручную, но… Read More »

Zabbix: мониторинг Tomcat с помощью JMX

10/08/2013
 

 Что такое JMX (Java Management eXtensions) хорошо описано тут>>>. Наша задача – запустить Tomcat с поддержкой JMX,  настроить Java-gateway для сервера Zabbix, добавить набор элементов данных для мониторинга Tomcat и связать его с существующим шаблоном. Убедимся, что на самом Zabbix-сервере zabbix-java-gateway работает: # service zabbix-java-gateway status zabbix-java-gateway (pid 26199) is running… По-умолчанию Java-gateway слушает порт… Read More »

Java: MalformedURLException

10/04/2013
 

 При запуске Apache Tomcat в логе ошибка: # cat logs/catalina.out | grep cent Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: cent2: cent2 Проблема заключается в том, что система не смогла определить имя узла cent2. Решение – дописать имя в файл /etc/hosts: # cat /etc/hosts | grep cent 127.0.0.1 localhost.localdomain… Read More »