Szkolenie Apache Tomcat

Poziom

Średniozaawansowany

Czas

16h / 2 dni

Termin

Indywidualnie

Cena

Indywidualnie

Szkolenie Apache Tomcat

Praktyczne szkolenie z administracji i utrzymania serwera Apache Tomcat. Uczestnicy konfigurują środowisko Tomcat, wdrażają aplikacje Java i Jakarta EE Web, zarządzają zasobami JNDI i połączeniami JDBC, zabezpieczają interfejsy administracyjne oraz konfigurują HTTPS, logowanie, monitoring i parametry wydajnościowe.

Dla kogo jest to szkolenie?
  • logo infoshare Administratorów systemów i inżynierów DevOps potrafiących pracować w terminalu Linux, zarządzać usługami systemowymi oraz analizować logi
  • logo infoshare Programistów Java znających strukturę aplikacji webowej, format WAR, podstawy protokołu HTTP oraz narzędzia Maven lub Gradle
  • logo infoshare Inżynierów IT odpowiedzialnych za wdrażanie aplikacji, posiadających podstawową wiedzę o TCP/IP, DNS, TLS, reverse proxy i bazach danych
  • logo infoshare Specjalistów utrzymania potrafiących odczytywać pliki XML, wykonywać podstawowe operacje na procesach JVM oraz korzystać z poleceń diagnostycznych systemu operacyjnego

Czego nauczysz się na szkoleniu?

  • Zainstalujesz Apache Tomcat, rozdzielisz katalogi CATALINA_HOME i CATALINA_BASE oraz skonfigurujesz instancję jako usługę systemową
  • Wdrożysz, zaktualizujesz, zatrzymasz i wycofasz aplikację WAR za pomocą katalogu webapps, Manager App oraz interfejsu tekstowego Managera
  • Skonfigurujesz zasób JNDI DataSource, pulę połączeń JDBC i bezpieczne przekazywanie parametrów dostępu do bazy danych
  • Przygotujesz konfigurację HTTPS, Realm, ról administracyjnych, nagłówków bezpieczeństwa, logów i podstawowego monitoringu JVM
  • Zidentyfikujesz wąskie gardło na podstawie logów, zrzutów wątków i wyników testu obciążeniowego oraz skonfigurujesz reverse proxy i równoważenie ruchu

Program szkolenia Apache Tomcat

Dzień 1:

Wprowadzenie do Apache Tomcat

  • Specyfikacje webowe Jakarta EE: Jakarta Servlet, Jakarta Pages, Expression Language, WebSocket i Jakarta Authentication
  • Rola Servletów i stron JSP: cykl żądania HTTP, kontener webowy, kompilacja JSP oraz kontekst aplikacji
  • Architektura Apache Tomcat: Server, Service, Connector, Engine, Host, Context, Catalina, Coyote i Jasper
  • Linie Apache Tomcat 11.0, 10.1 i 9.0: obsługiwane specyfikacje, wymagania Java oraz przestrzenie nazw jakarta.* i javax.*
  • Instalacja i konfiguracja bazowa: CATALINA_HOME, CATALINA_BASE, użytkownik systemowy, porty, zmienne JVM i usługa systemowa

Struktura katalogów i plików konfiguracyjnych

  • Katalogi bin, conf, lib, logs, temp, webapps i work: przeznaczenie, uprawnienia oraz separacja instancji
  • Pliki server.xml, context.xml, web.xml, logging.properties, catalina.properties i setenv.sh: zakres oraz kolejność konfiguracji
  • Realms, użytkownicy i role: tomcat-users.xml, role Manager App, zewnętrzne źródła tożsamości i zasada najmniejszych uprawnień

Cykl życia aplikacji webowych

  • Formaty aplikacji i modele wdrożenia: archiwum WAR, katalog rozwinięty, deskryptor Context i wdrożenie poza katalogiem webapps
  • Manager App i Host Manager: zakres funkcji, role dostępu, ograniczenie ekspozycji sieciowej oraz bezpieczna administracja
  • Interfejs tekstowy Managera i automatyzacja wdrożeń: polecenia HTTP, skrypty powtarzalne, status operacji i kontrola błędów
  • Wdrożenie dynamiczne i restart instancji: parametry autoDeploy, deployOnStartup, przeładowanie kontekstu, zatrzymanie aplikacji i kontrolowany rollback

 

 

Dzień 2:

Konfiguracja zasobów i połączeń do bazy danych

  • Zasoby JNDI w context.xml: zakres aplikacji, odwołania Resource, nazwy logiczne i separacja konfiguracji od kodu
  • JNDI DataSource: sterownik JDBC, adres połączenia, parametry uwierzytelniania, test połączenia i diagnostyka błędów
  • Bezpieczeństwo połączeń JDBC: szyfrowanie transportu, magazyny poświadczeń, uprawnienia użytkownika bazy i ograniczenie danych w logach
  • Pule połączeń JDBC: Tomcat JDBC Pool i Apache Commons DBCP 2, rozmiar puli, walidacja, timeouty, wykrywanie wycieków i statystyki

Zabezpieczenia Apache Tomcat

  • HTTPS i TLS: Connector, magazyn kluczy, certyfikat, protokoły, zestawy szyfrów, HTTP/2 i walidacja konfiguracji
  • Ochrona Manager App i Host Manager: ograniczenia adresów IP, odrębne role, silne poświadczenia, blokada dostępu publicznego i rejestracja operacji
  • Realms i role aplikacyjne: MemoryRealm, JDBCRealm, DataSourceRealm, JNDIRealm, mapowanie ról i kontrola dostępu
  • Nagłówki i filtry bezpieczeństwa: Security Headers Filter, CORS Filter, Remote Address Valve, limity żądań i ograniczenie ujawniania informacji o serwerze

Diagnostyka i strojenie

  • Connectory i pule wątków: NIO, NIO2, Executor, maxThreads, maxConnections, kolejka żądań i zależności od profilu ruchu
  • Pamięć JVM i Garbage Collection: heap, metaspace, dobór kolektora, logi GC, presja pamięci i podstawy analizy zrzutu sterty
  • Połączenia HTTP: keep-alive, timeouty, limity nagłówków, kompresja, maksymalny rozmiar żądania i ochrona przed wyczerpaniem zasobów
  • Diagnostyka wąskich gardeł: zrzuty wątków, blokady, długie żądania, wyczerpanie puli JDBC, nasycenie CPU i zależności zewnętrzne
  • Logi serwera i dostępu: JULI, catalina.out, logi hosta, AccessLogValve, rotacja, retencja, identyfikator korelacyjny i analiza zdarzeń
  • Testy obciążeniowe Apache JMeter: scenariusz, liczba użytkowników, rozgrzewka, przepustowość, percentyle czasu odpowiedzi, błędy i kryteria testu

Integracja z serwerem HTTP

  • Równoważenie ruchu: mod_proxy_balancer, mod_jk, algorytmy dystrybucji, kontrole zdrowia i wyłączenie węzła
  • Reverse proxy: Apache HTTP Server lub NGINX, przekazywanie nagłówków, adres klienta, terminacja TLS i konfiguracja Connectora
  • Integracja klastrowa: mod_cluster jako wariant środowiska, dynamiczna rejestracja węzłów, kontrola stanu i ograniczenia operacyjne
  • Sesje klastrowe: DeltaManager, BackupManager, sticky sessions, replikacja, aplikacja distributable, failover i koszt synchronizacji stanu

Skontaktuj sie z nami

zorganizujemy dla Ciebie szkolenie dopasowane do Twoich potrzeb

Przemysław Wołosz

Key Account Manager

przemyslaw.wolosz@infoShareAcademy.com

    Administratorem danych osobowych jest InfoShare Academy Sp. z o.o. z siedzibą w Gdańsku, al. Grunwaldzka 427B, 80-309 Gdańsk, KRS: 0000531749, NIP: 5842742213. Dane osobowe przetwarzane są zgodnie z klauzulą informacyjną.