Apache Tomcat na CentOS: inštalácia, systemd a bezpečné predvolené nastavenia


Dátum vydania:

Aktualizované:


Technické články > Apache Tomcat na CentOS: inštalácia, systemd a bezpečné predvolené nastavenia

stav a bezpečné používanie v roku 2026

Záver: Najprv si vyberte podporovanú rodinu Tomcat a kompatibilnú sadu JDK a potom ju spustite ako vyhradený neprihlásený používateľ pod skontrolovanou systémovou jednotkou. Udržujte konfiguráciu a nasadené aplikácie oddelené od nemenných binárnych súborov a odhaľte iba architektúru konektora, ktorú potrebujete.

Čo sa naučíte

  • Ako do seba zapadá kompatibilita Java, zdroj inštalácie, identita služby, vlastníctvo súborov, denníky a poradie spustenia.
  • Prečo by sa nemali kopírovať pevné príznaky starej haldy a GC bez meraní.
  • Ako rozlíšiť pôvodné rozloženie balíka CentOS 7 od aktuálne podporovaného nasadenia.

Pre koho je to určené: Správcovia systému Linux, ktorí spravujú alebo migrujú službu Tomcat.

Pozícia z roku 2026: Nižšie uvedený návod odráža starší balík CentOS 7/Tomcat a zahŕňa možnosti JVM, ktoré môžu byť v aktuálnej Jave odstránené alebo nevhodné. Tomcat 7 je na konci životnosti; pred produkčným použitím overte oficiálnu maticu verzií, použite podporovanú vetvu a skontrolujte presnú servisnú jednotku a povolenia.

Bezpečnostná poznámka: Príkazy a príklady konfigurácie v pôvodnom článku neboli znovu spustené v aktuálnom produkčnom prostredí. Pred ich použitím overte podporované verzie, zálohy, riadenie prístupu a kroky vrátenia v samostatnom testovacom prostredí.

Hlavné oficiálne zdroje

Prehľad.

Toto je úvodný postup konfigurácie potrebný na inštaláciu a spustenie Tomcatu v systéme CentOS. Informácie vychádzajú z predpokladu, že sa používa systém CentOS7.

Pozrite si informácie o prepojení Apache a zmene cieľa výstupu protokolu.

Verzie sú nasledovné.

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

Obsah

  1. nainštalovať
  2. základné nastavenie
  3. zhrnutie

1. nainštalovať

Táto časť opisuje konfiguráciu Tomcatu od inštalácie až po spustenie.

1-1. Inštalácia aplikácie Tomcat

Inštaláciu Tomcatu vykonajte pomocou príkazu yum. Vykonajte prácu ako používateľ root.

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

2. základné nastavenie

Táto časť opisuje konfiguráciu Tomcatu od inštalácie až po spustenie. Súbor "/usr/share/tomcat" vytvorí yum, ako bolo popísané vyššie. Tu nájdete odkazy na skratky, ako sú priečinky pre konfiguračné súbory atď., ktoré môžete upraviť.

2-1. Nastavenia cesty Tomcat

Inými slovami, v systéme Windows je to postup nastavenia premenných prostredia.

Nie je to potrebné, ak súbor tomcat.conf obsahuje nastavenie "CATALINA_HOME="/usr/share/tomcat"". Skontrolujte súbor '/usr/share/tomcat/conf/tomcat.conf'.

Ak príkaz "CATALINA_HOME="/usr/share/tomcat"" chýba, pridajte ho nasledujúcim postupom.

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

Na koniec pridajte tento text.

profile


CATALINA_HOME=/usr/share/tomcat
export CATALINA_HOME

Týmto je špecifikácia premenných prostredia Tomcat ukončená.

Na spustenie aplikácie Tomcat sú potrebné aj nastavenia Java, takže ak nastavenia cesty Java neboli vykonané, pozrite si nasledujúce nastavenia.

Inštalácia Javy v systéme CentOS a nastavenie ciest

Môžete ho tiež nainštalovať spustením príkazu 'yum install java-1.8.0-openjdk'.

2-2. kontrola štartovacieho pásu

Skontrolujte, či sa spustí aplikácia Tomcat.

Ak nainštalujete Tomcat pomocou yum, neexistuje html pre domovskú stránku Tomcat, takže najprv nainštalujte html.

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

Potom aktivujte bránu firewall. Predvolené číslo portu pre Tomcat je 8080, takže otvorte 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:

Ak je uvedené "porty: 8080/tcp", je to v poriadku. Spustite aplikáciu Tomcat.

[root@hostname ~]# tomcat start

Prístup cez prehliadač. V mojom prípade je IP adresa servera 192.168.50.10, takže mám prístup "http://192.168.50.10:8080/". Je v poriadku, ak sa zobrazí nasledujúca stránka

Horná obrazovka aplikácie Tomcat

Keďže spustenie bolo úspešne potvrdené, Tomcat sa zastaví.

[root@hostname ~]# tomcat stop

2-3. Nastavenia prepojenia Apache a Tomcat Poznámka: Keď sú Apache a Tomcat prepojené.

Toto nastavenie použite, ak majú Apache a Tomcat spolupracovať. Tomcat môže fungovať ako webový server aj samostatne, no Apache ponúka moduly a môže efektívnejšie obsluhovať statický obsah.

Pokyny na inštaláciu Apache nájdete nižšie.

Počiatočná konfigurácia potrebná od inštalácie Apache v systéme CentOS až po spustenie.

Nižšie je uvedený postup zmeny konfigurácie na strane Apache. Toto je konfigurácia na odovzdávanie požiadaviek prichádzajúcich do Apache do Tomcatu. Opis predpokladá, že v adresári '/etc/httpd/' sa nachádza konfiguračný súbor Apache.

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

Na koniec súboru "httpd.conf" pridajte nasledujúci príkaz.

httpd.conf


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

Najprv povoľte nasledujúce moduly, ak ešte nie sú aktívne (odstráňte znak komentára #).

•LoadModule proxy_module modules/mod_proxy.so

•LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

Spustite Apache (ak je už spustený, reštartujte ho) a Tomcat.

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

Prístup cez prehliadač. V mojom prípade je IP adresa servera 192.168.50.10, takže mám prístup "http://192.168.50.10/".

Je v poriadku, ak sa zobrazí nasledujúca stránka

Horná obrazovka aplikácie Tomcat

Keďže spustenie bolo úspešne potvrdené, Tomcat sa zastaví.

[root@hostname ~]# tomcat stop

Schéma zobrazuje nasledujúce prístupy.

Prístupový diagram k aplikácii Tomcat

Mimochodom, k predchádzajúcemu kroku sa pristupovalo takto.

Prístupový diagram k aplikácii Tomcat

2-4. Konfigurácia protokolov java heap a gc.

Java heap je pamäť Java a gc logy sú logy o pamäti Java. Java používa na spracovanie určitý objem pamäte vytvorený ako halda. Obe možnosti sú nastavené ako možnosti v príkaze Java startup. Toto je nastavené v súbore "tomcat.conf".

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

Na koniec tejto časti sa pridávajú tieto informácie.

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

Spustite Tomcat a spustite príkaz ps, aby ste videli nastavené hodnoty (-server -XX:MaxMetaspaceSize=256m -XX:MetaspaceSize=256m -Xmx256m -Xms256m -Xloggc:/var/log/tomcat/gc.log -XX:+PrintGCDetails) sa zobrazí, je to v poriadku.

[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

Vyššie uvedená konfigurácia spustí Tomcat s 256M pamäte. Nad 256 M je nastavenie nastavené tak, aby sa nepoužívala žiadna pamäť.

Pokiaľ ide o protokol gc, je nastavený tak, aby vytváral súbor protokolu pod "/var/log/tomcat/" s "gc.log".

Vytvorenie adresára "/var/log/tomcat/" sa vykoná v nasledujúcich krokoch.

2-5. Zmena nastavení protokolovania

Vytvorte adresár protokolu a zmeňte výstupnú cestu protokolu pre Tomcat. Nastavenia súvisiace s protokolovaním nájdete v súboroch '/usr/share/tomcat/conf/logging.properties' a '/usr/share/tomcat/conf/server.xml'.

Nižšie je uvedené vytvorenie adresára.

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

Vytvorte adresár a nastavte oprávnenia na 755. (Tomcat môže zapisovať protokoly, ale ostatní používatelia majú len práva na čítanie)

Potom upravte súbor 'logging.properties'.

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

Zmeniť a doplniť 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.


Potom upravte súbor 'server.xml'.

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

Zmeniť a doplniť takto.

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

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

2-6. Nastavenie automatického spustenia

Nakoniec, hoci to nie je povinné, je ťažké spúšťať server pri každom reštarte, preto je tu nastavenie, aby sa Tomcat spúšťal automaticky pri spustení servera. Upozorňujeme, že tento postup sa týka systému CentOS7, takže ak používate iný systém ako CentOS7, budete musieť použiť prí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. Nastavenia prenosu pošty

Toto nastavenie je zbytočné, ak nepoužívate Tomcat na odosielanie e-mailov. Ak implementujete proces odosielania e-mailov v jazyku Java, pozrite si konfiguráciu.

Najprv pridajte JAR súbor. Nasledujúci JAR umiestnite pod lib tomcat (/usr/share/tomcat/lib/) a zosúlaďte oprávnenia s ostatnými lib.

•javax.activation-1.2.0.jar

•javax.mail.jar

Upravte súbor 'context.xml'.

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

Na koniec súboru context.xml pridajte nasledujúci text.

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


3. zhrnutie

Popísali sme počiatočnú konfiguráciu potrebnú pri inštalácii Tomcatu.

Tomcat v podstate do určitej miery funguje s predvolenými nastaveniami, ale ak si ho chcete skutočne prispôsobiť, je užitočné neskôr nastaviť cieľové nastavenia výstupu protokolu a príkazy na automatické spustenie.

Ďakujeme vám za sledovanie až do konca.