Apache Tomcat na CentOS: instalace, systemd a bezpečné výchozí hodnoty


Publikováno:

Aktualizováno:


Články › Apache Tomcat na CentOS: instalace, systemd a bezpečné výchozí hodnoty

Stav v roce 2026 a bezpečné použití

Závěr: Nejprve vyberte podporovanou rodinu Tomcat a kompatibilní JDK a poté je spusťte jako vyhrazený nepřihlašovaný uživatel pod revidovanou systémovou jednotkou. Udržujte konfiguraci a nasazené aplikace oddělené od neměnných binárních souborů a odhalte pouze architekturu konektoru, kterou potřebujete.

Co se dozvíte

  • Jak do sebe zapadají kompatibilita Java, zdroj instalace, identita služby, vlastnictví souborů, protokoly a pořadí spouštění.
  • Proč by neměly být zkopírovány pevné starší příznaky haldy a GC bez měření.
  • Jak odlišit původní rozložení balíčku CentOS 7 od aktuálního podporovaného nasazení.

Pro koho je článek určen: Správci Linuxu udržující nebo migrující službu Tomcat.

Aktuální stav v roce 2026: Níže uvedený návod odráží starší balíček CentOS 7/Tomcat a zahrnuje možnosti JVM, které mohou být v aktuální Javě odstraněny nebo nevhodné. Tomcat 7 je na konci životnosti; před produkčním použitím ověřte oficiální matici verzí, použijte podporovanou větev a zkontrolujte přesnou servisní jednotku a oprávnění.

Bezpečnostní poznámka: Příkazy a konfigurační příklady z původního článku nebyly znovu spuštěny v současném produkčním prostředí. Před nasazením ověřte podporované verze, vytvořte zálohu a připravte postup návratu v odděleném testovacím prostředí.

Oficiální zdroje

Přehled

Toto je úvodní konfigurační postup potřebný k instalaci a spuštění Tomcatu v systému CentOS. Informace vycházejí z předpokladu, že je používán systém CentOS7.

Přečtěte si informace o propojení s Apache a změně cíle výstupu protokolu.

Verze jsou následující.

Verze systému CentOS7.6 (1810)
Verze Apache2.4.6
Verze Tomcat7.0.76
Verze jazyka Java.OpenJDK 1.8.0_272 64bit

Obsah

  1. nainstalovat
  2. základní nastavení
  3. Shrnutí

1. nainstalovat

Tato část popisuje konfiguraci Tomcatu od instalace až po spuštění.

1-1. Instalace aplikace Tomcat

Instalaci Tomcatu proveďte pomocí příkazu yum. Práci proveďte jako uživatel root.

[username@hostname ~]$ su -
[root@hostname ~]# yum -y install tomcat

2. základní nastavení

Tato část popisuje konfiguraci Tomcatu od instalace až po spuštění. Databáze "/usr/share/tomcat" je vytvořena pomocí nástroje yum, jak bylo popsáno dříve. Zde najdete odkazy na zástupce, jako jsou složky pro konfigurační soubory atd., které můžete upravit.

2-1. Nastavení cesty Tomcat

Jinými slovy, v systému Windows se jedná o postup nastavení proměnných prostředí.

To není nutné, pokud soubor tomcat.conf obsahuje nastavení "CATALINA_HOME="/usr/share/tomcat"". Zkontrolujte soubor '/usr/share/tomcat/conf/tomcat.conf'.

Pokud příkaz "CATALINA_HOME="/usr/share/tomcat"" chybí, přidejte jej následujícím postupem.

[root@hostname ~]# vi /etc/profile

Na konec přidejte následující text.

profile


CATALINA_HOME=/usr/share/tomcat
export CATALINA_HOME

Tím je specifikace proměnných prostředí Tomcat dokončena.

Nastavení Javy pro spuštění Tomcatu jsou také vyžadována, takže pokud nastavení cesty Javy nebylo provedeno, podívejte se na následující informace o nastavení.

Instalace Javy v systému CentOS a nastavení cest

Lze jej také nainstalovat příkazem 'yum install java-1.8.0-openjdk'.

2-2. kontrola bootstrapu

Zkontrolujte, zda se Tomcat spustil.

Pokud nainstalujete Tomcat pomocí yum, domovská stránka Tomcatu neobsahuje html, takže nejprve nainstalujte html.

[root@hostname ~]# yum -y install tomcat-webapps

Poté aktivujte bránu firewall. Výchozí číslo portu pro Tomcat je 8080, takže otevřete port 8080.

[root@hostname ~]# firewall-cmd --permanent --zone=public --add-port=8080/tcp
[root@hostname ~]# firewall-cmd --reload
[root@hostname ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client http https ssh
  ports: 8080/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Pokud je napsáno "porty: 8080/tcp", je to v pořádku. Spusťte Tomcat.

[root@hostname ~]# tomcat start

Přístup přes prohlížeč. V mém případě je IP adresa serveru 192.168.50.10, takže mám přístup "http://192.168.50.10:8080/". Pokud se zobrazí následující stránka, je to v pořádku

Horní obrazovka aplikace Tomcat

Vzhledem k tomu, že spuštění bylo úspěšně potvrzeno, je služba Tomcat zastavena.

[root@hostname ~]# tomcat stop

2-3. Nastavení propojení Apache a Tomcat Poznámka:Pokud jsou aplikace Apache a Tomcat propojeny.

Nastavte ji, pokud chcete, aby Apache a Tomcat spolupracovaly. Tomcat může běžet jako webový server i bez Apache, ale práce s Apachem je z různých důvodů výhodná, například díky užitečnosti funkce modulů Apache a možnosti urychlit odezvu statického obsahu.

Pokyny k instalaci systému Apache naleznete níže.

Počáteční konfigurace potřebná od instalace Apache v systému CentOS až po spuštění.

Níže je uveden postup pro změnu konfigurace na straně Apache. Jedná se o konfiguraci pro předávání požadavků přicházejících do serveru Apache serveru Tomcat. Popis předpokládá, že v adresáři '/etc/httpd/' je konfigurační soubor Apache.

[root@hostname ~]# vi /etc/httpd/conf/httpd.conf

Na konec souboru "httpd.conf" přidejte následující příkaz.

httpd.conf


<Location / >
  ProxyPass ajp://localhost:8009/
  Order allow,deny
  Allow from all
</Location>

Předpokladem je povolení následujících modulů, pokud již nejsou povoleny. (odkomentujte #).

·LoadModule proxy_module modules/mod_proxy.so

·LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

Spusťte Apache (pokud je již spuštěn, restartujte jej) a Tomcat.

[root@hostname ~]# apachectl stop
[root@hostname ~]# apachectl start
[root@hostname ~]# tomcat start

Přístup přes prohlížeč. V mém případě je IP adresa serveru 192.168.50.10, takže mám přístup "http://192.168.50.10/".

Pokud se zobrazí následující stránka, je to v pořádku

Horní obrazovka aplikace Tomcat

Vzhledem k tomu, že spuštění bylo úspěšně potvrzeno, je služba Tomcat zastavena.

[root@hostname ~]# tomcat stop

Schéma zobrazuje následující přístupy.

Přístupový diagram ke službě Tomcat

Mimochodem, k předchozímu kroku se přistupovalo takto.

Přístupový diagram ke službě Tomcat

2-4. Konfigurace protokolů java heap a gc.

Hromada Javy je paměť Javy a protokoly gc jsou protokoly o paměti Javy. Java používá pro zpracování určité množství paměti nastavené jako halda. Obě možnosti jsou nastaveny jako volby ve spouštěcím příkazu Javy. Nastavuje se v souboru tomcat.conf.

[root@hostname ~]# vi /usr/share/tomcat/conf/tomcat.conf

Na konec tohoto oddílu se doplňují následující informace.

CATALINA_OPTS="-server -XX:MaxMetaspaceSize=256m -XX:MetaspaceSize=256m -Xmx256m -Xms256m -Xloggc:/var/log/tomcat/gc.log -XX:+PrintGCDetails"

Spusťte Tomcat a spusťte příkaz ps, abyste viděli nastavené hodnoty (-server -XX:MaxMetaspaceSize=256m -XX:MetaspaceSize=256m -Xmx256m -Xms256m -Xloggc:/var/log/tomcat/gc.log -XX :+PrintGCDetails) se zobrazí, je to v pořádku.

[root@hostname ~]# tomcat start
[root@hostname ~]# ps aux | grep java
/usr/lib/jvm/jre/bin/java -Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory -server -XX:MaxMetaspaceSize=256m -XX:MetaspaceSize=256m -Xmx256m -Xms256m -Xloggc:/var/log/tomcat/gc.log -XX:+PrintGCDetails -classpath /usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat -Dcatalina.home=/usr/share/tomcat -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat/temp -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start

Výše uvedená konfigurace spustí Tomcat s 256M paměti. Nad 256 M je nastavení nastaveno na nepoužívání paměti.

Pokud jde o protokol gc, je nastaven tak, že vytváří soubor protokolu v adresáři "/var/log/tomcat/" s názvem "gc.log".

Vytvoření adresáře "/var/log/tomcat/" se provádí v následujících krocích.

2-5. Změna nastavení protokolování

Vytvořte adresář protokolu a změňte výstupní cestu protokolu pro Tomcat. Nastavení související s protokolováním lze nalézt v souborech '/usr/share/tomcat/conf/logging.properties' a '/usr/share/tomcat/conf/server.xml'.

Níže je uvedeno vytvoření adresáře.

[root@hostname ~]# mkdir /var/log/tomcat
[root@hostname ~]# chmod 755 /var/log/tomcat

Vytvořte adresář a nastavte oprávnění na 755. (Tomcat může zapisovat protokoly, ale ostatní uživatelé mají oprávnění pouze pro čtení)

Pak upravte soubor 'logging.properties'.

[root@hostname ~]# vi /usr/share/tomcat/conf/logging.properties

Změnit takto.

1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = /var/log/tomcat
1catalina.org.apache.juli.FileHandler.prefix = catalina.

2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = /var/log/tomcat
2localhost.org.apache.juli.FileHandler.prefix = localhost.

3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = /var/log/tomcat
3manager.org.apache.juli.FileHandler.prefix = manager.

4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = /var/log/tomcat
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.


Poté upravte soubor 'server.xml'.

[root@hostname ~]# vi /usr/share/tomcat/conf/server.xml

Změnit takto.

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="/var/log/tomcat"

prefix="localhost_access" suffix=".txt"
pattern="combined" />

2-6. Nastavení automatického spuštění

A konečně, ačkoli to není povinné, je obtížné spouštět server při každém restartu, a proto je nastaveno, aby se Tomcat spouštěl automaticky při spuštění serveru. Upozorňujeme, že tento postup je určen pro systém CentOS7, takže pokud používáte jiný systém než CentOS7, budete muset použít příkaz Service.

[root@hostname ~]# systemctl enable tomcat
[root@hostname ~]# systemctl is-enabled tomcat
enabled
[root@hostname ~]# systemctl list-unit-files --type=service | grep tomcat
tomcat.service                                enabled
[root@hostname ~]# systemctl daemon-reload

2-7. Nastavení přenosu pošty

Toto nastavení je zbytečné, pokud nepoužíváte Tomcat k odesílání e-mailů. Pokud implementujete proces odesílání e-mailů v jazyce Java, podívejte se na konfiguraci.

Nejprve přidejte knihovnu. Umístěte následující soubor JAR do adresáře Tomcat lib (/usr/share/tomcat/lib/) a nastavte mu stejná oprávnění jako ostatním knihovnám.

·javax.activation-1.2.0.jar

·javax.mail.jar

Upravte soubor 'context.xml'.

[root@hostname ~]# vi /usr/share/tomcat/conf/context.xml

Na konec souboru context.xml přidejte následující text.

<Context>
    <Resource name="mail/Session" auth="Container"
              type="javax.mail.Session"
              />
</Context>


3. shrnutí

Popsali jsme počáteční konfiguraci vyžadovanou při instalaci Tomcatu.

Tomcat v podstatě do jisté míry funguje s výchozím nastavením, ale pokud si jej chcete skutečně přizpůsobit, je užitečné později nastavit cílové umístění výstupu protokolu a příkazy pro automatické spouštění.

Tím jsou shrnuty hlavní kroky a omezení, která je třeba zohlednit.