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 CentOS | 7.6 (1810) |
|---|---|
| Verzia Apache | 2.4.6 |
| Verzia Tomcat | 7.0.76 |
| Verzia Java. | OpenJDK 1.8.0_272 64bit |
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.
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
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.
<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
Keďže spustenie bolo úspešne potvrdené, Tomcat sa zastaví.
[root@hostname ~]# tomcat stop
Schéma zobrazuje nasledujúce prístupy.
Mimochodom, k predchádzajúcemu kroku sa pristupovalo takto.
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.



