Apache Tomcat是Java Servlet,JavaServer Pages,Java Expression Language和Java WebSocket技術(shù)的開源實(shí)現(xiàn)。
它是當(dāng)今世界上使用最廣泛的應(yīng)用程序和Web服務(wù)器之一。Tomcat易于使用,并具有強(qiáng)大的生態(tài)系統(tǒng)。本教程介紹如何在CentOS 8安裝Tomcat 10。
Tomcat 10需要Java 8或更高版本。我們將安裝OpenJDK 11,這是Java平臺(tái)的開源實(shí)現(xiàn)。
以root用戶或具有sudo權(quán)限的用戶運(yùn)行命令sudo dnf install java-11-openjdk-devel
安裝Java。
安裝完成后,運(yùn)行命令Java --version
檢查是否安裝正確。命令將會(huì)打印Java的版本。
以root運(yùn)行Tomcat,具有安全風(fēng)險(xiǎn)。我們將創(chuàng)建普通用戶運(yùn)行Tomcat,配并將Tomcat用戶的家目錄設(shè)置為/opt/tomcat
。
運(yùn)行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二進(jìn)制發(fā)行可從Tomcat下載頁面下載。在撰寫本文時(shí),最新的Tomcat版本是9.0.30
。
在繼續(xù)下一運(yùn)行步之前,請(qǐng)檢查Tomcat 10下載頁面以查看是否有較新的版本。然后將運(yùn)行wget
命令將Tomcat tar.gz文件下載到Linux的臨時(shí)目錄/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會(huì)定期進(jìn)行更新。為了更好地控制版本和更新,我們將創(chuàng)建一個(gè)名為latest
的符號(hào)鏈接,該鏈接指向Tomcat的安裝目錄。
運(yùn)行chmod命令使bin
目錄中的shell腳本具有可執(zhí)行權(quán)限,這些腳本用于啟動(dòng)和停止Tomcat。
將/opt/tomcat目錄的所有權(quán)更改為tomcat用戶和tomcat組,使tomcat用戶可以訪問 /opt/tomcat目錄。運(yùn)行命令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
創(chuàng)建Systemd服務(wù)單元
我們將其設(shè)置為服務(wù)運(yùn)行,而不是手動(dòng)啟動(dòng)和停止Tomcat服務(wù)器。
打開您喜歡的文本編輯器,創(chuàng)建文件tomcat.service在/etc/systemd/system/目錄。在本教程中我們將使用vim創(chuàng)建文件。
完成后,保存文件并退出vim。然后運(yùn)行systemctl daemon-reload
命令重新加載配置文件。
運(yùn)行命令sudo systemctl enable --now tomcat
啟動(dòng)Tomcat服務(wù)并自動(dòng)啟動(dòng)。systemctl restart tomcat
命令重啟tomcat服務(wù)。
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正在運(yùn)行防火墻服務(wù)firewalld,并且您想從外部網(wǎng)絡(luò)訪問tomcat服務(wù),則需要打開端口8080
。
運(yùn)行sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
命令打開80端口。
通常,在生產(chǎn)環(huán)境中運(yùn)行Tomcat時(shí),應(yīng)使用反向代理。最佳做法是只允許從內(nèi)部網(wǎng)絡(luò)訪問端口8080
。
如果已經(jīng)配置Nginx的反向代理,請(qǐng)運(yùn)行最后兩個(gè)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
至此,您應(yīng)該能夠使用Web瀏覽器訪問Tomcat。由于我們尚未創(chuàng)建用戶,因此無法訪問Tomcat管理界面。
我們可以在tomcat-users.xml
文件中定義Tomcat用戶和角色。繼續(xù)使用vim編輯文件tomcat-users.xml。
創(chuàng)建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>
默認(rèn)情況下,Tomcat Web配置為僅允許從本地主機(jī)訪問。如果您需要外部網(wǎng)絡(luò)訪問Web界面。
請(qǐng)打開/opt/tomcat/latest/webapps/manager/META-INF/context.xml文件并注釋以下行。
通常,不建議從任何地方允許訪問,因?yàn)檫@會(huì)帶來安全風(fēng)險(xiǎn)。
<Context antiResourceLocking="false" privileged="true" >
Context>
如果您只想從指定IP訪問Tomcat Web,則無需注釋這些xml片段,而是將您的外網(wǎng)IP添加到列表中。
允許的IP地址列表是用豎線|
分隔的列表。您可以添加單個(gè)IP地址或使用正則表達(dá)式。
假設(shè)您的公開IP為41.41.41.41
,而您只想僅從IP訪問Tomcat Web。完成后,重新啟動(dòng)Tomcat服務(wù)以使更改生效。
<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
測試安裝
打開瀏覽器,輸入U(xiǎn)RL ttp://
。Tomcat Web允許您部署,取消部署,啟動(dòng),停止和重新加載應(yīng)用程序。
可以打開URL http://
找到它。
結(jié)論
我們已經(jīng)向您展示了如何在CentOS 8安裝Tomcat 10以及如何訪問Tomcat管理界面。
-
Apache
+關(guān)注
關(guān)注
0文章
64瀏覽量
12615 -
CentOS
+關(guān)注
關(guān)注
0文章
79瀏覽量
14102 -
tomcat
+關(guān)注
關(guān)注
0文章
30瀏覽量
4945
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
樹莓派安裝Tomcat
特斯拉M10和CentOS 7無法啟動(dòng)
Linux下如何安裝和運(yùn)行Tomcat
使用tomcat插件運(yùn)行嵌入式tomcat安裝并測試應(yīng)用程序
如何在N1SDP上安裝發(fā)行版ubuntu和centos系統(tǒng)
在win7下安裝CentOS
在vmware上安裝centos7以及網(wǎng)絡(luò)配置
Tomcat安裝出現(xiàn)的錯(cuò)誤與解決方法

CentOS6.4安裝apach2+php5教程

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

評(píng)論