Apache Tomcat是Java Servlet,JavaServer Pages,Java Expression Language和Java WebSocket技術的開源實現。
它是當今世界上使用最廣泛的應用程序和Web服務器之一。Tomcat易于使用,并具有強大的生態系統。本教程介紹如何在CentOS 8安裝Tomcat 10。
Tomcat 10需要Java 8或更高版本。我們將安裝OpenJDK 11,這是Java平臺的開源實現。
以root用戶或具有sudo權限的用戶運行命令sudo dnf install java-11-openjdk-devel
安裝Java。
安裝完成后,運行命令Java --version
檢查是否安裝正確。命令將會打印Java的版本。
以root運行Tomcat,具有安全風險。我們將創建普通用戶運行Tomcat,配并將Tomcat用戶的家目錄設置為/opt/tomcat
。
運行useradd命令sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
。
sudo dnf install java-11-openjdk-devel
java -version
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
openjdk version "11.0.5" 2019-10-15 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode, sharing)
下載Tomcat
Tomcat二進制發行可從Tomcat下載頁面下載。在撰寫本文時,最新的Tomcat版本是9.0.30
。
在繼續下一運行步之前,請檢查Tomcat 10下載頁面以查看是否有較新的版本。然后將運行wget
命令將Tomcat tar.gz文件下載到Linux的臨時目錄/tmp
。
下載完成后,解壓縮tar.gz文件到/opt/tomcat
目錄。
VERSION=9.0.30
wget https://dlcdn.apache.org/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz -P /tmp
sudo tar -xf /tmp/apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat/
Tomcat會定期進行更新。為了更好地控制版本和更新,我們將創建一個名為latest
的符號鏈接,該鏈接指向Tomcat的安裝目錄。
運行chmod命令使bin
目錄中的shell腳本具有可執行權限,這些腳本用于啟動和停止Tomcat。
將/opt/tomcat目錄的所有權更改為tomcat用戶和tomcat組,使tomcat用戶可以訪問 /opt/tomcat目錄。運行命令sudo chown -R tomcat: /opt/tomcat
。
sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latest
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'
sudo chown -R tomcat: /opt/tomcat
創建Systemd服務單元
我們將其設置為服務運行,而不是手動啟動和停止Tomcat服務器。
打開您喜歡的文本編輯器,創建文件tomcat.service在/etc/systemd/system/目錄。在本教程中我們將使用vim創建文件。
完成后,保存文件并退出vim。然后運行systemctl daemon-reload
命令重新加載配置文件。
運行命令sudo systemctl enable --now tomcat
啟動Tomcat服務并自動啟動。systemctl restart tomcat
命令重啟tomcat服務。
sudo vim /etc/systemd/system/tomcat.service
sudo systemctl daemon-reload
sudo systemctl enable --now tomcat
sudo systemctl restart tomcat
sudo systemctl status tomcat
[Unit]
Description=Tomcat 10 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
● tomcat.service - Tomcat 10 servlet container
Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2020-01-15 20:38:07 UTC; 30s ago
Process: 3957 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
...
配置防火墻
如果您CentOS 8正在運行防火墻服務firewalld,并且您想從外部網絡訪問tomcat服務,則需要打開端口8080
。
運行sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
命令打開80端口。
通常,在生產環境中運行Tomcat時,應使用反向代理。最佳做法是只允許從內部網絡訪問端口8080
。
如果已經配置Nginx的反向代理,請運行最后兩個firewall-cmd命令打開端口80和443。
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
配置Tomcat Web
至此,您應該能夠使用Web瀏覽器訪問Tomcat。由于我們尚未創建用戶,因此無法訪問Tomcat管理界面。
我們可以在tomcat-users.xml
文件中定義Tomcat用戶和角色。繼續使用vim編輯文件tomcat-users.xml。
創建tomcat Web用戶manager-gui和admin-gui,如下所示。確保密碼更改為更安全的密碼。
sudo vim /opt/tomcat/latest/conf/tomcat-users.xml
<tomcat-users>
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin_password" roles="admin-gui,manager-gui"/>
tomcat-users>
默認情況下,Tomcat Web配置為僅允許從本地主機訪問。如果您需要外部網絡訪問Web界面。
請打開/opt/tomcat/latest/webapps/manager/META-INF/context.xml文件并注釋以下行。
通常,不建議從任何地方允許訪問,因為這會帶來安全風險。
<Context antiResourceLocking="false" privileged="true" >
Context>
如果您只想從指定IP訪問Tomcat Web,則無需注釋這些xml片段,而是將您的外網IP添加到列表中。
允許的IP地址列表是用豎線|
分隔的列表。您可以添加單個IP地址或使用正則表達式。
假設您的公開IP為41.41.41.41
,而您只想僅從IP訪問Tomcat Web。完成后,重新啟動Tomcat服務以使更改生效。
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\\.\\d+\\.\\d+\\.\\d+|::1|0:0:0:0:0:0:0:1|41.41.41.41" />
Context>
sudo systemctl restart tomcat
測試安裝
打開瀏覽器,輸入URL ttp://
。Tomcat Web允許您部署,取消部署,啟動,停止和重新加載應用程序。
可以打開URL http://
找到它。
結論
我們已經向您展示了如何在CentOS 8安裝Tomcat 10以及如何訪問Tomcat管理界面。
-
Apache
+關注
關注
0文章
64瀏覽量
12647 -
CentOS
+關注
關注
0文章
83瀏覽量
14138 -
tomcat
+關注
關注
0文章
30瀏覽量
4975
發布評論請先 登錄
樹莓派安裝Tomcat
特斯拉M10和CentOS 7無法啟動
Linux下如何安裝和運行Tomcat
使用tomcat插件運行嵌入式tomcat安裝并測試應用程序
如何在N1SDP上安裝發行版ubuntu和centos系統
Tomcat安裝出現的錯誤與解決方法

CentOS6.4安裝apach2+php5教程

Flexus?X 實例與華為云 EulerOS 的 Tomcat 安裝指南

如何在CentOS系統中配置Tomcat虛擬主機

評論