Installera Apache Tomcat säkert på CentOS


Datum för offentliggörande:

Uppdaterad:


INFORMATION > Installera Apache Tomcat säkert på CentOS

2026 status och säker användning

Slutsats: Välj först en Tomcat-familj och kompatibel JDK som stöds, och kör den sedan som en dedikerad icke-inloggad användare under en granskad systemd-enhet. Håll konfiguration och distribuerade applikationer åtskilda från oföränderliga binära filer och exponera endast den anslutningsarkitektur du behöver.

Vad du kommer att lära dig

  • Hur Java-kompatibilitet, installationskälla, tjänstidentitet, filägande, loggar och startordning passar ihop.
  • Varför bör fasta äldre heap- och GC-flaggor inte kopieras utan mätningar.
  • Hur man skiljer den ursprungliga CentOS 7-paketlayouten från en befintlig driftsättning som stöds.

Vem är det här för: Linux-administratörer som underhåller eller migrerar en Tomcat-tjänst.

2026-position: Genomgången nedan återspeglar ett äldre CentOS 7/Tomcat-paket och inkluderar JVM-alternativ som kan tas bort eller olämpliga på nuvarande Java. Tomcat 7 är uttjänt; verifiera den officiella versionsmatrisen, använd en filial som stöds och granska den exakta serviceenheten och behörigheterna innan produktionen används.

Säkerhetsanmärkning: Kommandona och konfigurationsexemplen i den ursprungliga artikeln har inte körts om i en aktuell produktionsmiljö. Verifiera versioner som stöds, säkerhetskopior, åtkomstkontroller och återställningssteg i en separat testmiljö innan du använder dem.

Officiella primära källor

Översikt.

Detta är den första konfigurationen som krävs för att installera och starta Tomcat på CentOS. Informationen bygger på antagandet att CentOS7 används.

Se informationen om Apache-koppling och ändring av destinationen för loggutdata.

Versionerna är följande.

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

Innehållsförteckning

  1. installera
  2. grundinställning
  3. sammanfattning

1. installera

Det här avsnittet beskriver konfigurationen av Tomcat från installation till uppstart.

1-1. Installera Tomcat

Installera Tomcat med hjälp av kommandot yum. Utför arbetet som rotanvändare.

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

2. grundinställning

Det här avsnittet beskriver konfigurationen av Tomcat från installation till uppstart. "/usr/share/tomcat" skapas av yum enligt tidigare beskrivning. Här finns genvägslänkar som mappar för konfigurationsfiler osv. som du kan ändra.

2-1. Inställningar för Tomcat-sökväg

I Windows är det med andra ord proceduren för att ställa in miljövariabler.

Detta är inte nödvändigt om tomcat.conf innehåller inställningen "CATALINA_HOME="/usr/share/tomcat"". Kontrollera "/usr/share/tomcat/conf/tomcat.conf".

Om "CATALINA_HOME="/usr/share/tomcat"" saknas, lägg till den på följande sätt.

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

Lägg till följande i slutet.

profile


CATALINA_HOME=/usr/share/tomcat
export CATALINA_HOME

Detta avslutar specifikationen av Tomcat-miljövariablerna.

Java-inställningar för att köra Tomcat krävs också, så om inställningarna för Java-sökvägen inte har gjorts, se följande för inställningarna.

Installera Java på CentOS och ange sökvägar

Den kan också installeras genom att köra "yum install java-1.8.0-openjdk".

2-2. kontroll av uppstartsklämma

Kontrollera att Tomcat startar.

Om du installerar Tomcat med yum finns det ingen html för Tomcat-hemsidan, så installera html först.

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

Aktivera sedan brandväggen. Standardportnumret för Tomcat är 8080, så öppna 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:

Om det står "ports: 8080/tcp" är det OK. Starta Tomcat.

[root@hostname ~]# tomcat start

Tillgänglig via webbläsaren. I mitt fall är serverns IP-adress 192.168.50.10, så jag går in på "http://192.168.50.10:8080/". Det är OK om följande sida visas

Tomcat övre skärm

När uppstarten har bekräftats stoppas Tomcat.

[root@hostname ~]# tomcat stop

2-3. Inställningar för koppling av Apache och Tomcat ※När Apache och Tomcat är länkade.

Ställ in detta om du vill att Apache och Tomcat ska arbeta tillsammans.Tomcat kan köras som en webbserver utan Apache, men det finns fördelar med att arbeta med Apache av olika skäl, t.ex. användbarheten av Apaches modulfunktion och möjligheten att påskynda svaren på statiskt innehåll.

Se nedan för installationsinstruktioner för Apache.

Initial konfiguration som krävs efter installation av Apache på CentOS och innan den startas.

Nedan beskrivs hur du ändrar konfigurationen på Apache-sidan. Detta är en konfiguration för att skicka förfrågningar från Apache till Tomcat. Beskrivningen förutsätter att det finns en Apache-konfigurationsfil under "/etc/httpd/".

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

Lägg till följande uttalande i slutet av "httpd.conf".

httpd.conf


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

Som en förutsättning måste följande moduler aktiveras om de inte redan är aktiverade.(ta bort kommentaren #).

・LoadModule proxy_module modules/mod_proxy.so

・LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

Starta Apache (starta om om om du redan är igång) och Tomcat.

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

Tillgänglig via webbläsaren. I mitt fall är serverns IP-adress 192.168.50.10, så jag går in på "http://192.168.50.10/".

Det är OK om följande sida visas

Tomcat övre skärm

När uppstarten har bekräftats stoppas Tomcat.

[root@hostname ~]# tomcat stop

Diagrammet visar följande åtkomster.

Tillgångsdiagram till Tomcat

För övrigt har det ena föregående steget tagits fram på följande sätt.

Tillgångsdiagram till Tomcat

2-4. Konfiguration av java heap- och gc-loggar.

Java heap är Java-minne och gc-loggar är loggar om Java-minne. Java använder en bestämd mängd minne i form av en heap för bearbetningen. Båda dessa alternativ anges som alternativ i kommandot för Java-start. Detta anges i "tomcat.conf".

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

Följande information ska läggas till i slutet av detta avsnitt.

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

Starta Tomcat och kör kommandot ps för att se de inställda värdena (-server -XX:MaxMetaspaceSize=256m -XX:MetaspaceSize=256m -Xmx256m -Xms256m -Xloggc:/var/log/tomcat/gc.log -XX :+PrintGCDetails) visas, är 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

Ovanstående konfiguration startar Tomcat med 256M minne. Över 256 M är inställningen inställd så att inget minne används.

När det gäller gc-loggen är den konfigurerad för att skapa en loggfil under "/var/log/tomcat/" med namnet "gc.log".

Katalogen "/var/log/tomcat/" skapas i följande steg.

2-5. Ändra inställningar för loggning

Skapa en loggkatalog och ändra loggutgångssökvägen för Tomcat. Loggningsrelaterade inställningar finns i "/usr/share/tomcat/conf/logging.properties" och "/usr/share/tomcat/conf/server.xml".

Nedan visas skapandet av katalogen.

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

Skapa en katalog och ställ in behörigheterna till 755. (Tomcat kan skriva loggar, men andra användare har endast läsbehörighet).

Ändra sedan logging.properties.

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

Ändra på följande sätt.

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.


Ändra sedan "server.xml".

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

Ändra på följande sätt.

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

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

2-6. Inställning för automatisk start

Slutligen, även om det inte är obligatoriskt, är det svårt att starta servern varje gång den startas om, så lägg in en inställning så att Tomcat startas automatiskt när servern startas. Observera att den här proceduren gäller för CentOS7, så om du använder något annat än CentOS7 måste du använda kommandot Service för att hantera detta.

[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. Inställningar för överföring av e-post

Detta är en onödig inställning om du inte använder Tomcat för att skicka e-post. Om du implementerar en e-postsändningsprocess i Java hänvisar du till konfigurationen.

Lägg först till en burk. Placera följande jar under tomcat lib (/usr/share/tomcat/lib/) och anpassa behörigheterna till de andra libs.

・javax.activation-1.2.0.jar

・javax.mail.jar

Ändra "context.xml".

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

Lägg till följande i slutet av context.xml.

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


3. sammanfattning

Vi har beskrivit den första konfigurationen som krävs när Tomcat installeras.

Tomcat fungerar i princip till viss del med standardinställningarna, men om du faktiskt vill anpassa det är det bra att senare ställa in inställningar för destinationen för loggutdata och kommandon för automatisk start.

Tack för att du tittade på till slutet.