После установки tomcat надо выполнить следующие действия:
1) Обновить библиотеки, поставляемые с tomcat. Библиотеки расположены в каталоге TOMCAT_HOME/common/endorsed, как правило это xerces. Рекомендуется удалить все .jar файлы из этого каталога, и заменить их на файлы из ARPSITE_HOME/servlet/WEB-INF/lib/external (там находятся версии xerces/xalan, с которыми система гарантированно работает). Кроме этого, если будет использоваться batik (работа с SVG), в каталог endorsed надо добавить файл batik-ext.jar (из ARPSITE_HOME/servlet/WEB-INF/lib).
2) Подключить WEB-приложение. Для этого надо в TOMCAT_HOME/conf/server.xml под элементом <Engine....> вставить текст:
<Host name="arpsite" debug="0">
<Context path=""
docBase="ARPSITE_HOME/servlet"/>
</Host>
, и заменить атрибут defaultHost в элементе Engine с localhost на arpsite. При этом из конфига можно убрать стандартную настройку для localhost, которая, в общем-то, не нужна - т.е. выкинуть <Host name="localhost"> ... </Host>, который занимает бОльшую чать server.xml
3) Поменять параметры запуска jvm. Параметры задаются в переменной среды TOMCAT_OPTS, в случае с linux удобно эту переменную задавать в скрипте запуска (/etc/init.d/catalina) или в catalina.sh, в случае с windows надо добавить строчку в catalina.bat. Пример значения TOMCAT_OPTS:
TOMCAT_OPTS=-server -Xmx1300m -Xms700m -Djava.awt.headless=true -Darp.site.home=/usr/local/arp.site -Darp.site.master=0 -Darp.site.memory.limit=1000000000
Здесь:
- -server: запуск jvm в режиме server (более подходит для web приложения)
- -Xmx1300m - максимальный размер памяти. Данное значение должно быть достаточно большим (минимум 300m), но в то же время важно, чтобы jvm не залезла в swap - в этом случае скорость работы сильно упадёт. Память, занимаемая jvm, несколько превышает размер хипа.
- -Xms700m - начальный размер хипа
- -Djava.awt.headless=true - нужен при работе под linux - чтобы работала графика без X server
- -Darp.site.home - путь до каталога arp.site
- -Darp.site.master=0|1 - в случае, если работает кластер из нескольких серверов, этот параметр должен быть установлен в «1» у одного из них и в «0» у остальных - так помечается «основной» хост, на котором выполняются административные задачи типа обсчёта статистики, рассылки почты и т.п. Если сервер один, этот параметр должен быть установлен в «1». Чаще всего с этого компьютера необходимо устанавливать исходящие соединения с Internet (для распознавания IP-адресов, импорта информации и т.д.)
- -Darp.site.memory.limit=1000000000 - система будет пытаться не использовать более, чем указано байт - при превышении будет очищаться кэш (раз в 30 минут). Значение должно быть меньше, чем -Xmx, чтобы не появилось OutOfMemory при заполненном кэше.