Ръководство стъпка по стъпка за конфигуриране на Tomcat
Конфигуриране на Tomcat: Ръководство стъпка по стъпка
Следващата стъпка след инсталирането на Tomcat е да изберете основни настройки. Този процес е разделен на два етапа, които са описани подробно в тази статия. Първият е да редактирате XML файловете с настройки, а вторият е да изберете подходящите променливи за средата.
XML файлове с настройки
Двата най-важни конфигурационни файла за стартиране на Tomcat се наричат .xml и web.xml. По подразбиране те се намират съответно в TOMCAT-HOME/conf/server.xml и TOMCAT-HOME/conf/web.xml.
Не правете едни и същи настройки два пъти. Опитайте Tcat - сървърни профили, които ви позволяват да запазвате общи настройки и да ги прилагате към множество екземпляри на Tomcat с едно щракване.

- Елементи от най-високо ниво
- Съединители или съединители (Съединители)
- Контейнери
- Вградени компоненти
- Глобални настройки
Сайтът за документация на Tomcat на Apache има много информация, но няма информация за настройките на елементите. Тази статия обхваща всичко това.
Елементи от най-високо ниво
Сървър (сървър)
Този елемент дефинира един Tomcat сървър и съдържа конфигурационните елементи Logger и ContextManager. Освен това елементът Server поддържа атрибутите "port", "shutdown" и "className". Атрибутът port се използва за указване на кой порт трябва да се изпълняват командите за изключване. Атрибутът за изключване указва командния ред за конкретен порт за предизвикване на изключване. Атрибутът className е изпълнението на Java класа, което ще се използва.
Услуга
Това е елемент, който можемясто в елемента Server; той съдържа един или повече конектори, които споделят един и същ двигател. Основната функция на този компонент е да дефинира тези компоненти като една услуга. Името на услугата, което ще се показва в регистрационните файлове, се определя с помощта на атрибута „име“ (елемент на услугата).
Съединители
Поставяйки един или повече конектори (конектор) в сервизния таг, вие по този начин позволявате на системата да пренасочва заявки от тези портове към един компонент на двигателя за обработка. Tomcat ви позволява да дефинирате HTTP и AJP конектори.
HTTP конектор
Този елемент представлява HTTP/1.1 конектора и предоставя на Catalina самостоятелна функционалност на уеб сървъра. Това означава, че в допълнение към изпълнението на сървърлети и JSP страници, Catalina може да слуша конкретни TCP портове за заявки. Когато конфигурирате HTTP конектори, обърнете внимание на атрибутите "minSpareThreads", "maxThreads" и "acceptCount".
Атрибутът "maxThreads" е особено важен. Той контролира максималния брой нишки, които могат да бъдат създадени за управление на заявки. Ако стойността е зададена твърде ниска, заявките ще заседнат в сокета на сървъра, което може да причини неуспешна връзка. Този проблем е отстранен по време на тестването.
AJP конектор
Този елемент е конектор, който осигурява комуникация с AJP протокола. Основната роля на елемента е да помогне на Tomcat да работи заедно с Apache.
Контейнери
Тези елементи се използват от Catalina за насочване на заявки към правилната машина за обработка.
Този елемент представлява конкретно уеб приложение и съдържа информация за пътя, където се определят заявките за съответните ресурси на приложението. Каталина получавазаявка и се опитва да съпостави най-дългия URI с контекстния път на конкретен контекстен елемент, докато се намери валиден елемент, който да обслужва заявката.
Контекстният елемент може да има максимум един вграден екземпляр на елемент от помощните елементи Loader, Manager, Realm, Resources и WatchedResource.
Въпреки че Tomcat ви позволява да дефинирате контекстни елементи в "TOMCAT-HOME/conf/server.xml", това е най-добре да се избягва, тъй като тези основни настройки не могат да бъдат презаредени без рестартиране на Tomcat.
Този елемент се използва във връзка с един или повече конектори, които се хостват в елемента Service. Елемент на Engine може да се използва само ако е поставен в елемент на услуга и само един елемент на Engine е разрешен в елемент на услуга. Обърнете внимание на атрибута "defaultHost", който дефинира елемента Host.
Последният е отговорен за обслужването на заявки за имена на хостове на сървъра, които не са конфигурирани в server.xml. Името на този атрибут трябва да съвпада с името на един от елементите Host, които са поставени в елемента Engine. Също така е важно да изберете уникално, логично име за всеки от елементите на двигателя, като използвате атрибута „име“. Ако един елемент Server във вашия файл server.xml включва множество Service елементи, ще трябва да изберете уникално име за всеки елемент на Engine.
Елемент, който се хоства от елемента Engine и се използва за свързване на мрежови имена на сървъри със сървъри на Catalina. Този елемент ще функционира правилно само ако виртуалният хост е регистриран в DNS на съответния домейн. Една от най-полезните функции на елемента Host е възможността да съдържа елементи на псевдоним, които се използват за дефиниране на имена на хостове.множество мрежи.
Елементът Cluster се използва в Tomcat за предоставяне на репликация на контекстни атрибути, използване на WAR, репликация на сесии и може да бъде поставен върху Engine или Host елемент. Те съдържат елементите Manager, Channel, Valve, Deployer и ClusterListener.
Повече информация за тези елементи и как се използват можете да намерите на страницата за конфигурация на Apache Tomcat. И въпреки че този елемент има много различни конфигурации, стандартната конфигурация ще бъде достатъчна, за да вземе предвид интересите на повечето потребители при разработването на приложение.
Вложени компоненти
Тези елементи са поставени вътре
контейнерни елементи за определяне на допълнителна функционалност.
Тези елементи могат да бъдат поставени в елементи на сървър, двигател, хост или контекст. Те сочат към компонент, който изпълнява специфично действие върху конкретно събитие.
Повечето компоненти имат атрибути className за избор на различни реализации на елементи. Има редица допълнителни реализации на Listener, не само тези по подразбиране. Всички тези реализации изискват елементът Listener да бъде поставен в конкретен сървърен елемент.
И е изключително важно да зададете правилно този атрибут. Наличните в момента реализации са в APR Lifecycle Listener, Jasper Listener, Server Lifecyle Listener, Global Resources Lifecyle Listener, JMX Remote Lifecycle Listener и JRE Memory Leak Prevention Listener.
Глобални ресурси за именуване
Този елемент се използва за дефиниране на ресурси за наименуване на Java и интерфейс на директория за конкретен сървър, различен от контекста на JNDI уеб приложение. Ако желаете, можете да зададете характеристиките за търсене на JNDI ресурс за и на този елемент,определянето им и свързването им с .
Резултатите от този метод са еквивалентни на добавяне на елементи към файла на приложението „/WEB-INF/web.xml“. Ако използвате тази техника, уверете се, че сте посочили допълнителните опции, които са необходими за задаване и конфигуриране на фабричния обект и свойства.
Този елемент се поставя във всеки елемент на контейнера и дефинира база данни, съдържаща потребителски имена, пароли и роли за контейнера. Когато се поставят в елемент Host или Engine, характеристиките, посочени в елемента Realm, се предават по подразбиране на всички контейнери от по-ниско ниво.
Важно е да зададете правилно атрибута "className" на този елемент, защото има много реализации. Тези реализации се използват, за да направят Catalina достъпна за други потребителски системи за управление на сигурността (като JDBC, JNDI или DataSource).
Този елемент има само една цел - да насочи Catalina към статични ресурси, които се използват от вашите уеб приложения. Тези ресурси включват класове, HTML и JSP файлове. Използването на този елемент дава достъп на Catalina до файлове, съдържащи се на места, различни от файловата система, като ресурси, съдържащи се в WAR архиви или JDBC бази данни.
Важно е да запомните, че тази техника за разрешаване на уеб приложения за достъп до ресурси, които се съдържат извън файловата система, може да се използва само ако приложението не изисква директен достъп до ресурси, които се съхраняват във файловата система.
Компонентите на Valve се поставят в елементите Engine, Host и Context, за да добавят специална функционалност към тръбопровода за обработка на заявки. Това е много универсален артикул. Има много различни видове Клапанни елементи - отавтентификатори към WebDAV филтри и корекции на грешки. Много от тези типове вентили се поставят само в специални елементи.
Файлът web.xml съдържа информация, която се използва за конфигуриране на компонентите на вашите уеб приложения. Когато конфигурирате Tomcat за първи път, можете да зададете сървлет-картографиране за централни компоненти като 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 елементи. Можете да редактирате този файл ръчно или с инструмента за политики.
Променливи на средата
Ако конфигурирате Tomcat за първи път, ще трябва да промените няколко променливи на средата, за да отговарят на вашите нужди.
Тази променлива променя размера на купчината на JVM. Задаването на подходящите стойности за тази променлива е изключително важно при поставянетоново приложение, което може да се нуждае от определено количество динамична памет, за да работи правилно. Като изберете подходящите стойности за тези настройки, можете да намалите броя на OOME съобщенията.
КАТАЛИНА_ДОМА
Тази променлива указва мястото на инсталиране на Tomcat. Скриптовете за автоматично стартиране в Tomcat ще се опитат да определят стойността на тази променлива, но най-добре е просто да зададете правилната стойност, за да избегнете усложнения.
CATALINA_OPTS
Променлива, която се използва за задаване на различни специфични опции в Tomcat.