Встановлення та налаштування Apache Tomcat. Встановлення та налаштування Apache Tomcat під Linux

У статті розповідається про те, як підняти на своєму комп'ютері локальний java сервер та прописати найпростіший web-додаток.

Tomcat потрібен для роботи Javaсервера із застосуванням сервлетів. Якщо грубо кажучи, то сервелети це аналог тих же php скриптів. На сервер Tomcat від клієнтів надходять запити. Залежно від них сервер запустить ті чи інші сервелети, які сформують відповіді у вигляді текстових файлів. Найчастіше це html сторінки.

Встановлення JDK

Для роботи сучасних версій Android Studioабо IntelliJ IDEAне потрібно виробляти додаткові дії, щоб програми могли знайти JDK та запускати java програми. Але ми будемо на Наразікомпілювати сервлети вручну, тому для зручності ми пропишемо шлях до папки JDK в системну змінну Path в Windows. Нижче наведено інструкцію для Windows 10.

У мене JDK знаходиться у папці C:\Program Files\Java\jdk1.8.0_121\bin.

Клацніть правою кнопкоюпо іконці Цей комп'ютер і перейдіть до Властивості.

Увага! Не думайте видаляти весь вміст змінної Path. Інакше у операційної системивиникнуть дуже великі проблеми. Ви повинні дописати в цю змінну потрібний шлях.

Встановлення Apache Tomcat

Завантажуємо інсталяційний файл.

Встановлюємо Tomcat.

Ці компоненти мають бути обрані.

Для навчальних цілей можна налаштувати параметри за замовчуванням.

Після цього в треї з'явиться значок запущеного сервісу.

У папці webapps створимо папку під назвою web-програми. Допустимо, testingapp .

Проект, який реалізує специфікацію контейнера сервлетів та специфікацію JavaServer Pages (JSP). Використовується як самостійного серверавеб-додатків, як сервер контенту у зв'язці з веб-сервером Apache, а також як контейнер сервлетів у серверах додатків JBoss і GlassFish.
У лабораторної роботипередбачається встановлення та налаштування Tomcat як сервер веб-додатків під керуванням ОС OpenSuSE 12.2.

Мета роботи:Встановити та зробити базове налаштування Apache Tomcat як сервер веб-застосунків.

Завдання до роботи

  1. Встановити Java-оточення з пакету OpenJDK.
  2. Встановити Tomcat.
  3. Запустити Tomcat та перевірити його роботу за адресою http://localhost:8080.
  4. Написати JSP-сторінку test.jsp, що виводить довільний рядок.
  5. Написати сервлет test, що виводить довільний рядок.
  6. Написати стартову сторінку index.html, що містить посилання на сторінку test.jsp та сервлет test.

Установка Java та Tomcat

1. Встановлення Java Development Kit (JDK)

Для роботи Tomcat потрібно встановлене оточення для розробки Java-програм (Java Development Kit, JDK). Перевірити, яка версія встановлена ​​в системі можна, наприклад, так:

Aag@stilo:~> zypper se java | grep "runtime" -i // фільтрація надлишкової інформації i| java-1_7_0-openjdk | Java runtimeнавколишнє середовище засноване на OpenJDK 7 і IcedTea 7 | пакет | java-1_7_0-openjdk | Java runtime environment базується на OpenJDK 7 and IcedTea 7 | пакет із вихідним кодом

У наведеному прикладі в системі встановлено (символ i(nstalled)) версія 1.7 OpenJDK – вільного комплекту розробки, повністю сумісного із Sun (Oracle) JDK.

Якщо жоден з доступних пакетів не встановлено, його слід установити:

Aag@stilo:~> zypper in java-1_7_0-openjdk* .... // процес установки

Перевірити результати встановлення можна так, як було зазначено вище.

Дізнатися шлях, де розміщується середовище виконання Java, можна зі змінної оточення $JAVA_HOME:

Aag@stilo:~> echo $JAVA_HOME /usr/lib64/jvm/jre

А дізнатися номер встановленої (і використовуваної) версії JDK можна так:

Aag@stilo:~> java -version java version "1.7.0_09" OpenJDK Runtime Environment (IcedTea7 2.3.3) (suse-3.16.1-x86_64) OpenJDK 64-bit Server VM (build 23.2-b09, mixed mode)

2. Встановлення Tomcat

Установка Tomcat та пов'язаних з ним пакетів з репозитарію проводиться звичайним чином:

Aag@stilo:~> zypper in tomcat* Читання встановлених пакетів... // aag: список скорочений і може відрізнятись від наведеного Будуть встановлені наступні НОВІ пакети: jakarta-commons-dbcp-tomcat jakarta-commons-pool-tomcat5 tomcat tomcat- admin-webapps tomcat-docs-webapp tomcat-servlet-3_0-api tomcat-webapps ... Повний розмір завантаження: 7,2 M. Після операції буде використано додатково 43,6 M. Продовжити? [та ні]:

Після підтвердження, необхідні пакети будуть завантажені та встановлені. При цьому в системі будуть створені наступні підкаталоги (дефолтна установка в OpenSuSE 12.2, фактичне розміщення залежить від дистрибутива та версії ОС та версії самого Tomcat):

  • /usr/share/tomcat/bin: керуючі скрипти;
  • /etc/tomcat/conf: конфігураційні файли(server.xml, web.xml, context.xml, tomcat-users.xml);
  • /usr/share/java/tomcat/lib: jar-файли, що використовуються всіма розширеннями Tomcat та веб-додатками;
  • /var/log/tomcat: log-файли;
  • /srv/tomcat/webapps: каталог, що містить веб-додатки (сервлети та JSP);
  • /var/cache/tomcat/work: робочий каталог Tomcat, який використовується, в першу чергу, для перетворення JSP-сторінок на сервлети;
  • /var/cache/tomcat/temp: тимчасові файли.

У каталозі /usr/share/tomcat будуть також розміщені симлінки на вказані каталоги. Шлях до основного каталогу Tomcat можна записати в змінну оточення$CATALINA_HOME (export CATALINA_HOME="/usr/share/tomcat/").

3. Запуск та зупинення сервера

Якщо установка пройшла успішно, можна спробувати запустити Tomcat:

Aag@stylo:~> $CATALINA_HOME/bin/catalina.sh start

Скрипт catalina.sh використовується для ручного запуску та зупинення сервера Tomcat. Для автоматичного запускуможна використовувати скрипт service (service tomcat start | stop | restart), попередньо слід вказати рівні запуску, на яких стартуватиме демон tomcat (див. chkconfig)

Catalina- Назву компонента Tomcat, що реалізує безпосередньо функції контейнера сервлетів. Ця назва використовувалася в ранніх версіях(До Tomcat5) для всього продукту. Іншими компонентами у складі системи є Coyote, який здійснює підтримку транспорту по протоколу HTTP 1.1 та Jasper, призначений для обробки JSP (аналізу JSP-файлів та компіляції їх у Java-код, який потім передається для обробки за допомогою Catalina).

Працюючий сервер веб-додатків буде очікувати на вхідні підключення на порт 8080. Це можна перевірити, якщо в адресному рядку браузера набрати http://localhost:8080 (рис. 1).

Мал. 1. Дефолтна Стартова сторінкасервера Apache Tomcat

Зупинити Tomcat, запущений вручну, можна так:

Aag@stylo:~> $CATALINA_HOME/bin/catalina.sh stop

Налаштування сервера Tomcat

Для налаштування сервера Tomcat використовуються наступні конфігураційні XML-файли, розміщені в каталозі $CATALINA_HOME/conf/:

  • server.xml: Загальні налаштування сервера (порти, віртуальні хости та ін.).
  • web.xml: Параметри, загальні для ВСІХ веб-застосунків на поточному сервері. Налаштування окремих веб-застосунків задаються в них власних файлах/WEB-INF/web.xml (тут можна провести аналогію з використанням файлу.htaccess в Apache).
  • context.xml: Загальні параметри керування контентом.
  • tomcat-users.xml: Список користувачів та груп (ролей).

Увага:Перш ніж вносити зміни в ці файли, варто зробити їх резервні копії. Також слід звертати увагу на коментарі, якими мають ці файли.

conf/server.xml - Зміна номера порту

За замовчуванням Tomcat використовує для вхідних підключень TCP-порт 8080, а також порти 8009 та 8005:

Aag@stilo:~> netstat -tuaev --numeric-ports | grep tomcat tcp 0 0 localhost:8005 *:* LISTEN tomcat 20539 tcp 0 0 *:8009 *:* LISTEN tomcat 20533 tcp 0 0 *:8080 *:* LISTEN tomcat 20524

Ці порти можуть бути змінені на інші, які не використовуються іншими мережевими сервісами, шляхом їх зміни у файлі conf/server.xml. Щоб, наприклад, змусити Tomcat працювати на порту 8081, потрібно знайти у файлі conf/server.xml вказаний нижче рядок і змінити значення атрибута port на потрібне (8081), потім перезапустити сервер:

... ...

Для developer-сервера можна використовувати будь-який непривілейований порт. Для production-сервера варто використовувати порт 80, який є стандартним для серверів HTTP.

conf/web.xml - Включення лістингу каталогів

Для встановлення відображення списку файлів у каталогах (лістингу), потрібно змінити значення атрибуту listings з помилкового (false) на справжнє (true) у блоці налаштувань сервлета за умовчанням ("default"-servlet) у файлі conf/web.xml. Це буває корисним при розробці та налагодженні веб-застосунків, але не рекомендується використовувати на production-сервері з міркувань безпеки.

... default org.apache.catalina.servlets.DefaultServlet debug 0 listings true 1 ...

conf/context.xml - Встановлення автоматичного перезавантаження сторінок

Є можливість змусити Tomcat виконувати автоматичне перезавантаженняпісля зміни коду. Потрібно додати атрибут reloadable зі значенням "true" до елементу файлу conf/context.xml. Це дуже корисно в процесі розробки та налагодження сервлетів, але знову ж таки не рекомендується в готовому продукті.

reloadable="true"> ...

conf/tomcat-users.xml - Управління користувачами та ролями

Для керування користувачами, які можуть керувати сервером Tomcat, призначено файл conf/tomcat-users.xml. Щоб створити, наприклад, користувача manager, який зможе керувати веб-додатками через графічну оболонку(зумовлена ​​роль manager-gui), потрібно додати до цього файлу запис виду:

Розробка та розповсюдження веб-додатків під керуванням Tomcat

Розглянемо кілька прикладів використання Tomcat для розробки веб-застосунків на Java . Тут ми не акцентуватимемо увагу на кодах програм як такі, оскільки цьому присвячена окрема дисципліна — «Об'єктно-орієнтоване програмування мовою Java».

Створення структури каталогів та розміщення веб-сторінок

Усі веб-програми розміщуються в каталозі webapps (/srv/tomcat/webapps). Кожна програма розміщується у власному, однойменному каталозі з певною вкладеною структурою (webapps/youappname/WEB-INF/classes). Для нової веб-програми (наприклад, myapp) цю структуру можна створити, наприклад, так:

// WEB-INF - зумовлене та реєстрозалежне ім'я каталогу aag@stilo:~> sudo mkdir -p /srv/tomcat/webapps/myapp/WEB-INF/classes

Призначення створених каталогів таке:

  • myapp: Кореневий каталог веб-програми. Тут розміщуються HTML-сторінки та інші ресурси (таблиці стилів (CSS), зображення, скрипти клієнтів (javascript), JSP тощо), доступні веб-клієнтам.
  • myapp/WEB-INF: Цей каталог, недоступний веб-користувачам, містить опис веб-застосунку та його параметри у файлі web.xml.
  • myapp/WEB-INF/classes: У цьому каталозі розміщуються всі файли Java-класів сервлетів.

Помістимо в кореневий каталог створюваного веб-додатку файл index.html такого змісту:

Після перезапуску сервера до створюваному веб-додаткуможна буде звернутися на адресу http://localhost:8080/myapp/(рис. 2).

Мал. 2. Відображення статичних сторінок

Java Server Pages

Java Server Pages (JSP) - динамічні веб-сторінки, що містять, крім HTML-розмітки, інструкції на мовою Java(подібно до PHP або ASP). Такі ресурси розміщуються та використовуються так само, як і статичні ресурси. Приклад JSPнаведено у лістингу 1, а результат на рис. 3.

Лістинг 1. Приклад розмітки JSP

Мал. 3. Висновок JSP-сторінок

Примітка: Якщо при зверненні до JSP-сторінки ви отримуєте повідомлення про помилку:
org.apache.jasper.JasperException: java.lang.IllegalStateException: No output folder.... ,
це, швидше за все, означає, що каталог tomcat/work не доступний для запису. Використовуйте команду chmod-R a+w tomcat/work для встановлення дозволів або chown для зміни власника.

Сервлети

Усі сервлети ( серверні програмина Java) розміщуються у підкаталозі WEB-INF/classes/. Розглянемо використання сервлетів з прикладу програми, який виводить деяку інформацію про сервері (листинг 1).

Лістинг 1. Вихідний код Java-сервлет

// Зберегти як /srv/tomcat/webapps/myapp/WEB-INF/classes/MyServlet.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MyServlet extends HttpServlet ( @Override public void doGet (HttpServletRequest request, HttpServletResponse response)) throws IOException, ServletException ( // встановити MIME-type і кодування відповіді response.setContentType("text/html; char;" response.getWriter(); // Відправлення веб-сторінки try (out.println(" "); out.println(" Servlet sample"); out.println(" "); out.println("

Запитаний ресурс: " + request.getRequestURI() + "

"); out.println("

Протокол: " + request.getProtocol() + "

"); out.println("

Адреса сервера: " + request.getRemoteAddr() + "

"); out.println(""); ) finally ( out.close(); // Завжди закривати Writer ) ) )

Наступний етап – компіляція. Це можна зробити з того середовища розробки, яке ви використовуєте (Eclipse, NetBeans, IntelliJ тощо) або командного рядка. У разі використання openJDK і Tomcat 7 це буде виглядати приблизно так:

Aag@stylo:~> javac -classpath /usr/share/tomcat/lib/tomcat-servlet-3.0-api.jar:classes /srv/tomcat/webapps/myapp/WEB-INF/classes/MyServlet.java

В результаті компіляції в каталозі WEB-INF/classes буде створено файл MyServlet.class. Тепер потрібно налаштувати Tomcat для використання.

Налаштування доступу до сервлета

З погляду користувача сервлет - це звичайний веб-ресурс, адресований URI і звернення до сервлета виконується через адресний рядокбраузер. Однак, щоб сервлет став доступним для клієнтів, необхідно виконати його налаштування у файлі WEB-INF/web.xml веб-програми. Структура цього файлу для прикладу, що розглядається, буде приблизно такою:

проServer MyServlet проServer /about

У такій конфігурації сервлет із файлу MyServlet.classбуде виконуватися під час звернення за адресою /myapp/ про. Для КОЖНОГО сервлету має бути описана пара і , пов'язана з елементом .

Щоб зміни набули чинності, потрібно перезапустити сервер. Результат виконання сервлета наведено на рис. 4.

Мал. 4. Виконання сервлету

Детальну інформацію про всі можливості сервера Tomcat можна отримати з документації, яка встановлюється разом із сервером та доступна за адресою http://localhost:8080/docs/ або на офіційному сайті проекту: http://tomcat.apache.org/.

Постійна адресацієї сторінки:



Наступний крок після встановлення Tomcat - вибрати базові налаштування. Цей процес розбитий на два етапи, які детально описані у цій статті. Перший – редагування файлів налаштувань XML, другий – вибір відповідних змінних для середовища.

Налаштування файлів XML

Два найважливіших файли налаштувань, щоб запустити Tomcat, називаються .xml і web.xml. За замовчуванням вони розміщені відповідно до TOMCAT-HOME/conf/server.xml і TOMCAT-HOME/conf/web.xml.

Не виконуйте ті самі налаштування двічі. Try Tcat – профілі сервера, які дозволяють зберігати Загальні налаштуваннята застосовувати їх до кількох екземплярів Tomcat в один клік.

SERVER.XML

Файл server.xml - головний файл налаштувань Tomcat. Елементи server.xml належать до п'яти базових категорій:

  • Елементи верхнього рівня(Top Level Elements)
  • З'єднувачі або конектори (Connectors)
  • Контейнери (Containers)
  • Вбудовані компоненти (Nested Components)
  • Глобальні налаштування (Global Settings)

Всі елементи з цих категорій мають безліч атрибутів, які дозволяють точно визначити функціональні можливості. Найчастіше якщо необхідно внести якісь істотні зміни до установки Tomcat, як, наприклад, змінити число портів, доводиться редагувати файл server.xml.

На сайті Apache's Tomcat Documentation міститься достатньо інформації, але немає деяких відомостей про налаштування елементів. У цій статті все це висвітлено.

Елементи верхнього рівня

Server (сервер)

Цей елемент визначає окремий сервер Tomcat містить елементи конфігурації Logger і ContextManager. До того ж, елемент Server підтримує атрибути "port", "shutdown" та "className". Атрибут порт використовується для того, щоб уточнити, через який порт повинні виконуватись команди shutdown(Вимкнення). Атрибут shutdown задає командний рядокдля окремого порту, щоб спровокувати вимкнення. Атрибут className – реалізацію класу Java, яка має використовуватись.

Service (сервіс)

Це елемент, який можна помістити до елемента Server; він містить один або кілька компонентів Connector, у яких один загальний компонент Engine. Головна функціяцього компонента – задати ці компоненти як один сервіс. Назва сервісу, який з'являтиметься у логах, визначається за допомогою атрибуту “name” (елемент Service).

Connectors (з'єднувачі)

Розміщуючи один або кілька з'єднувачів (connector) у тезі Service, ви дозволяєте системі перенаправити запити з цих портів в один компонент Engine для обробки. Tomcat дозволяє визначити з'єднувачі HTTP та AJP.

HTTP-з'єднувач

Цей елемент представляє HTTP/1.1 Connector та забезпечує Catalina автономним функціоналом веб-сервера. Це означає, що на додаток до виконання сервелатів та JSP-сторінок, Catalina здатний прослуховувати специфічні TCP-порти для запитів. Налаштовуючи HTTP-конектори, звертайте увагу на атрибути "minSpareThreads", "maxThreads" та "acceptCount".

Атрибут "maxThreads" особливо важливий. Він контролює максимальна кількістьтредів, які можна створити для керування запитами. Якщо буде встановлено дуже мало значення, запити будуть застрягати в серверному сокетіщо може спровокувати відмову у з'єднанні. Ця проблема усувається під час тестування.

AJP-з'єднувач

Цей елемент є з'єднувачем, який забезпечує зв'язок із протоколом AJP. Головна роль елемента в тому, щоб допомогти Tomcat працювати у зв'язці з Apache.

Контейнери

За допомогою цих елементів Catalina направляє запити до коректного обробного апарату.

Context

Цей елемент представляє певну веб-додаток і містить дані про шлях, яким визначаються запити для відповідних ресурсів програми. Catalina отримує запит і намагається порівняти найдовший URI з контекстним шляхом певного елемента Context доти, доки знайдеться коректний елемент, який би обслуговував запит.

У елемента Context може бути максимум один вбудований екземпляр на один елемент із допоміжних елементів Loader, Manager, Realm, Resources та WatchedResource.

Хоча Tomcat дозволяє визначати елементи Context у “TOMCAT-HOME/conf/server.xml”, це краще уникати, оскільки ці головні налаштування не можна перезавантажити без перезавантаження Tomcat.

Engine

Цей елемент використовується у зв'язку з одним або кількома з'єднувачами, які розміщені в елементі Service. Елемент Engine може використовуватися лише у випадку, якщо він розміщений в елементі Service, і лише один елемент Engine дозволено в елементі Service. Звертайте увагу на атрибут "defaultHost", який задає елемент Host.

Останній відповідає за обслуговування запитів назв хостів на сервері, які не налаштовуються в server.xml. Назва цього атрибута повинна співпадати з назвою одного з елементів Host, які розміщені в елементі Engine. Також важливо вибрати унікальну, логічну назву для кожного з елементів Engine, використовуючи атрибут “name”. Якщо один елемент Server у файлі server.xml містить кілька елементів Service, потрібно вибрати унікальну назву для кожного елемента Engine.

Host

Елемент, який розміщений в елементі Engine, і використовується, щоб зв'язати назву серверної мережі з серверами Catalina . Цей елемент функціонуватиме належним чином лише якщо віртуальний хостбув зареєстрований у системі DNSвідповідного домену. Одна з самих корисних особливостейелемента Host - можливість містити елементи Alias, які використовуються у тому, щоб визначити назви кількох мереж.

Cluster

Nested Components

Ці елементи розміщуються всередині

елементів container, щоб встановити додаткові функціональні можливості.

Listeners

Ці елементи можна помістити всередину елементів Server, Engine, Host або Context. Вони вказують на компонент, який справляє певну дію за специфічної події.

Більшість компонентів мають атрибути className, щоб вибрати різні реалізаціїелемент. Існує ряд додаткових реалізацій Listener, не лише дефолтних. Всі ці реалізації вимагають, щоб елемент Listener розміщувався у певному елементі Server.

І дуже важливо налаштувати цей атрибут коректно. Доступні на поточний моментреалізації містяться в APR Lifecycle Listener, Jasper Listener, Server Lifecyle Listener, Global Resources Lifecyle Listener, JMX Remote Lifecycle Listener та JRE Memory Leak Prevention Listener.

Global Naming Resources

Цей елемент використовується для визначення ресурсів Java Naming and Directory Interface для специфічного Server, відмінного від будь-яких контекстів веб-програми JNDI. Якщо потрібно, ви можете задати характеристики JNDI resource lookup для і в даному елементі, визначивши їх та зв'язавши за допомогою .

Результати цього методу еквівалентні додаванню елементів у файл програми “/WEB-INF/web.xml”. Якщо ви використовуєте цю техніку, перевірте, що ви визначили Додаткові параметри, які необхідні, щоб задати та налаштувати об'єкт-фабрику та властивості.

Realm

Цей елемент розміщується в будь-якому елементі Container і задає базу даних, що містить імена користувачів, паролі та ролі для Container. При розміщенні всередині елемента Host або Engine характеристики, задані в елементі Realm, передаються всім контейнерам нижнього рівняза замовчуванням.

Важливо коректно встановити атрибут “className” цього елемента, оскільки є безліч реалізацій. Ці реалізації використовуються, щоб зробити Catalina доступним іншим системам управління безпекою користувачів (наприклад, JDBC , JNDI або DataSource).

Resources

Цей елемент має лише одне призначення - направити Catalina в статичні ресурси, які використовуються вашими веб-додатками. Ці ресурси включають класи, HTML та JSP файли. Використання цього елемента надає Catalina доступ до файлів, що містяться в інших місцях, крім файлової системи(filesystem), такі як ресурси, які містяться в архівах WAR або базах даних JDBC.

Важливо пам'ятати, що ця техніка надання веб-додатків доступу до ресурсів, що містяться поза файловою системою, може використовуватися тільки, якщо програма не вимагає безпосереднього доступу до ресурсів, що зберігаються у файловій системі.

Valve

Компоненти Valve розміщуються всередині елементів Engine, Host та Context, за допомогою яких додаються спеціальні функціональні можливості в конвеєр, що обробляє запити. Це дуже різносторонній елемент. Існує безліч різних типівелементів Valve - від автентифікаторів до фільтрів та виправлень помилок WebDAV. Багато з цих типів Valve розміщуються лише усередині спеціальних елементів.

Web.XML

Файл web.xml містить інформацію, яка використовується для конфігурації компонентів ваших веб-застосунків. Задаючи конфігурацію Tomcat вперше, ви можете встановити servlet-mapping для центральних компонентів, таких як JSP. У Tomcat цей файл функціонує так, як описано в специфікації Servlet.

Єдина відмінність у тому, як Tomcat обробляє цей файл: є опція встановити за допомогою TOMCAT-HOME/conf/web.xml значення за промовчанням для всіх контекстів. Якщо використовується такий метод, базовою конфігурацією буде TOMCAT-HOME/conf/web.xml, який може переписати специфічні для програми WEB-INF/web.xml файли.

Інші важливі конфігураційні файли

Є й інші важливі файли. Список ролей, користувачів та паролів, які UserDatabaseRealm використовує для автентифікації, можна знайти в tomcat-users.xml. Якщо потрібний доступ до інших адміністративних інструментів, які є у Tomcat, ви можете відредагувати файл і додати доступ адміністратора та менеджера.

Стандартні параметри контексту установки Tomcat можуть бути змінені у файлі context.xml. Файл catalina.policy, який замінює файл java.policy (з вибраним JDK), містить параметри дозволу для елементів Tomcat. Ви можете редагувати цей файл вручну або за допомогою policytool.

Змінні середовища

Якщо Tomcat налаштовується вперше, потрібно змінити кілька змінних середовищащоб вони відповідали вашим вимогам.

JAVA_OPTS

За допомогою цієї змінної змінюється розмір heap size of the JVM. Встановити відповідні значення для цієї змінної вкрай важливо при розміщенні нової програми, якій може знадобитися певний розмір динамічної пам'ятідля коректної роботи. Підібравши відповідні значення для цих налаштувань, ви зможете зменшити кількість повідомлень OOME.

CATALINA_HOME

Ця змінна задає місце встановлення Tomcat. Скрипти автозапуску в Tomcat намагатимуться визначити значення цієї змінної, але краще просто встановити коректне значення, щоб уникнути складнощів.

CATALINA_OPTS

Змінна, яка використовується для встановлення різних специфічних опцій у Tomcat.