Installer Apache Tomcat sikkert på CentOS


Udgivet:

Opdateret:


Artikler › Installer Apache Tomcat sikkert på CentOS

Status i 2026 og sikker brug

Konklusion: Vælg først en understøttet Tomcat-familie og kompatibel JDK, og kør den derefter som en dedikeret ikke-login-bruger under en gennemgået systemd enhed. Hold konfiguration og implementerede applikationer adskilt fra uforanderlige binære filer, og eksponer kun den konnektorarkitektur, du har brug for.

Det lærer du

  • Hvordan Java-kompatibilitet, installationskilde, tjenesteidentitet, filejerskab, logfiler og opstartsrækkefølge passer sammen.
  • Hvorfor bør faste legacy heap- og GC-flag ikke kopieres uden målinger.
  • Sådan skelnes det originale CentOS 7-pakkelayout fra en aktuel understøttet implementering.

Målgruppe: Linux-administratorer, der vedligeholder eller migrerer en Tomcat-tjeneste.

Aktuel status i 2026: Gennemgangen nedenfor afspejler en ældre CentOS 7/Tomcat-pakke og inkluderer JVM-indstillinger, der kan være fjernet eller upassende på nuværende Java. Tomcat 7 er end-of-life; verificere den officielle versionsmatrix, brug en understøttet filial, og gennemgå den nøjagtige serviceenhed og tilladelser før brug i produktionen.

Sikkerhedsbemærkning: Kommandoerne og konfigurationseksemplerne i den oprindelige artikel er ikke kørt igen i et aktuelt produktionsmiljø. Kontrollér understøttede versioner, tag backup, og forbered en rollback i et separat testmiljø før ændringerne anvendes.

Officielle kilder

Oversigt

Dette er den indledende konfigurationsprocedure, der kræves for at installere og starte Tomcat på CentOS. Oplysningerne er baseret på den antagelse, at der anvendes CentOS7.

Se venligst oplysningerne om Apache-linkage og ændring af destinationen for logoutput.

Versionerne er som følger.

CentOS-version7.6 (1810)
Apache-version2.4.6
Tomcat-version7.0.76
Java-version.OpenJDK 1.8.0_272 64bit

Indholdsfortegnelse

  1. installere
  2. grundlæggende indstilling
  3. Opsummering

1. installere

Dette afsnit beskriver konfigurationen af Tomcat fra installation til opstart.

1-1. Installation af Tomcat

Installér Tomcat ved hjælp af yum-kommandoen. Udfør arbejdet som root-bruger.

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

2. grundlæggende indstilling

Dette afsnit beskriver konfigurationen af Tomcat fra installation til opstart. "/usr/share/tomcat" er oprettet af yum som beskrevet tidligere. Her finder du genvejslinks som f.eks. mapper til konfigurationsfiler osv., som du kan ændre.

2-1. Tomcat-stiindstillinger

Med andre ord er det i Windows proceduren for indstilling af miljøvariabler.

Dette er ikke nødvendigt, hvis tomcat.conf indeholder indstillingen "CATALINA_HOME="/usr/share/tomcat"". Kontroller '/usr/share/tomcat/conf/tomcat.conf'.

Hvis "CATALINA_HOME="/usr/share/tomcat"" mangler, skal du tilføje det ved hjælp af følgende procedure.

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

Tilføj følgende til sidst.

profile


CATALINA_HOME=/usr/share/tomcat
export CATALINA_HOME

Dette afslutter angivelsen af Tomcat-miljøvariabler.

Java-indstillinger for at køre Tomcat er også påkrævet, så hvis Java-stiindstillingerne ikke er blevet foretaget, skal du se følgende for at få oplysninger om indstillingerne.

Installer Java på CentOS og indstil stier

Det kan også installeres ved at køre "yum install java-1.8.0-openjdk".

2-2. bootstrap-kontrol

Kontroller, at Tomcat starter.

Hvis du installerer Tomcat med yum, er der ingen html til Tomcat-hjemmesiden, så installer først html'en.

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

Aktivér derefter firewallen. Standardportnummeret for Tomcat er 8080, så åbn 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:

Hvis der står "ports: 8080/tcp", er det OK. Start Tomcat.

[root@hostname ~]# tomcat start

Adgang via browser. I mit tilfælde er serverens IP-adresse 192.168.50.10, så jeg har adgang til "http://192.168.50.10:8080/". Det er OK, hvis følgende side vises

Tomcat øverste skærm

Da opstarten er blevet bekræftet, stoppes Tomcat.

[root@hostname ~]# tomcat stop

2-3. Indstillinger for Apache- og Tomcat-kobling Bemærk:Når Apache og Tomcat er forbundet.

Indstil denne indstilling, hvis du vil have Apache og Tomcat til at arbejde sammen. Tomcat kan køre som en webserver uden Apache, men der er fordele ved at arbejde med Apache af forskellige årsager, f.eks. fordi Apaches modulfunktion er nyttig og fordi den kan fremskynde responsen på statisk indhold.

Se nedenfor for instruktioner om installation af Apache.

Installer Apache HTTP Server sikkert på CentOS

Nedenfor beskrives proceduren for ændring af konfigurationen på Apache-siden. Dette er en konfiguration til at sende forespørgsler, der kommer til Apache, videre til Tomcat. Beskrivelsen forudsætter, at der findes en Apache-konfigurationsfil under "/etc/httpd/".

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

Tilføj følgende erklæring til slutningen af "httpd.conf".

httpd.conf


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

Som en forudsætning skal følgende moduler være aktiveret, hvis de ikke allerede er aktiveret. (udkommentér #).

·LoadModule proxy_module modules/mod_proxy.so

·LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

Start Apache (genstart, hvis den allerede er startet) og Tomcat.

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

Adgang via browser. I mit tilfælde er serverens IP-adresse 192.168.50.10, så jeg har adgang til "http://192.168.50.10/".

Det er OK, hvis følgende side vises

Tomcat øverste skærm

Da opstarten er blevet bekræftet, stoppes Tomcat.

[root@hostname ~]# tomcat stop

Diagrammet viser følgende adgangsveje.

Adgangsdiagram til Tomcat

I øvrigt blev der adgang til det ene tidligere trin på følgende måde.

Adgangsdiagram til Tomcat

2-4. Konfiguration af java heap- og gc-logfiler.

Java heap er Java-hukommelse, og gc-logs er logs om Java-hukommelse. Java bruger en bestemt mængde hukommelse, der er oprettet som en heap, til behandling. Begge er indstillet som indstillinger i Java-opstartskommandoen. Dette er angivet i "tomcat.conf".

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

Følgende oplysninger tilføjes i slutningen af dette afsnit.

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

Start Tomcat, og kør kommandoen ps for at se de indstillede værdier (-server -XX:MaxMetaspaceSize=256m -XX:MetaspaceSize=256m -Xmx256m -Xms256m -Xloggc:/var/log/tomcat/gc.log -XX :+PrintGCDetails) vises, er det OK.

[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

Ovenstående konfiguration starter Tomcat med 256M hukommelse. Over 256 M er indstillingen indstillet til ikke at bruge nogen hukommelse.

Hvad angår gc-loggen, er den konfigureret til at oprette en logfil under "/var/log/tomcat/" med navnet "gc.log".

Oprettelsen af mappen "/var/log/tomcat/" udføres i følgende trin.

2-5. Ændre logningsindstillinger

Opret en logmappe, og ændr logudgangsstien for Tomcat. Logningsrelaterede indstillinger kan findes i "/usr/share/tomcat/conf/logging.properties" og "/usr/share/tomcat/conf/server.xml".

Nedenfor vises oprettelsen af mappen.

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

Opret en mappe, og indstil tilladelserne til 755. (Tomcat kan skrive logs, men andre brugere har kun læsetilladelser)

Ændr derefter "logging.properties".

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

Ændres som følger.

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.


Ændr derefter "server.xml".

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

Ændres som følger.

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

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

2-6. Indstilling af automatisk opstart

Endelig, selv om det ikke er obligatorisk, er det svært at starte serveren hver gang den genstartes, så der er indsat en indstilling, så Tomcat starter automatisk, når serveren startes. Bemærk venligst, at denne procedure er for CentOS7, så hvis du bruger noget andet end CentOS7, skal du bruge kommandoen Service til at håndtere dette.

[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. Indstillinger for postoverførsel

Dette er en unødvendig indstilling, hvis du ikke bruger Tomcat til at sende e-mails. Hvis du implementerer en e-mail-afsendelsesproces i Java, henvises du til konfigurationen.

Først skal du tilføje en JAR-fil. Placer følgende JAR-fil under tomcat-liben (/usr/share/tomcat/lib/) og tilpas tilladelserne til de andre biblioteker.

·javax.activation-1.2.0.jar

·javax.mail.jar

Ændre "context.xml".

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

Tilføj følgende til slutningen af context.xml.

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


3. resumé

Vi har beskrevet den indledende konfiguration, der kræves, når Tomcat installeres.

Tomcat fungerer i princippet til en vis grad med standardindstillingerne, men hvis du rent faktisk ønsker at tilpasse den, er det nyttigt senere at indstille indstillingerne for logoutputdestination og autostartkommandoer.

Det opsummerer de vigtigste trin og begrænsninger.