1. 程式人生 > 其它 >Linux下安裝Tomcat

Linux下安裝Tomcat

1. 要想在Linux下使用Tomcat,就需要先安裝JDK

JDK1.8安裝教程:https://www.cnblogs.com/mylqm/p/14945382.html

2.進入Tomcat下載官網,選擇tar.gz(pgp,sha512)連結進行下載

官網下載連結:https://tomcat.apache.org/download-90.cgi

3. 下載完成之後,進入linux,輸入如下命令上傳壓縮包

[root@localhost /]# cd /usr/local
[root@localhost java]# rz

4.解壓 apache-tomcat-9.0.12.tar.gz

[root@localhost local]# tar xzf apache-tomcat-9.0.12.tar.gz    //
解壓tomcat
[root@localhost local]# mv apache-tomcat-9.0.12 tomcat9 //重新命名為 tomcat9

5、設定Tomcat開機啟動

[root@localhost mnt]# vi /etc/rc.d/rc.local

新增如下程式碼到 /etc/rc.d/rc.local 中:

注意:1、手動啟動 是因為你是使用者登陸,使用者登陸就會去載入/etc/profile檔案中配置的JDK環境,這個時候你就能啟動tomcat
2、開機啟動 它先讀取啟動檔案配置,你必須在系統識別使用者前載入/etc/profile檔案中配置的JDK環境,tomcat才能在開機時啟動

source /etc/profile
/usr/local/tomcat9/bin/startup.sh

6.配置環境

export JAVA_HOME=/usr/local/java/jdk1.8.0_291
export JRE_HOME=${JAVA_HOME}/jre
export CATALINA_HOME=/usr/local/tomcat9
export //tomcat配置環境 CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:${CATALINA_HOME}/bin
export PATH
=$PATH:${JAVA_PATH}

7. 執行profile檔案,這樣可以使配置不用重啟即可立即生效

[root@localhost java]# source /etc/profile

8.修改Tomcat埠

進入conf資料夾vi server.xml 編輯配置檔案

  <Connector port="8088" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

這種修改對於8080埠衝突是可以解決的,但是如果想同時使用兩個tomcat,那麼這樣的修改還不完整,因為還有其它的埠會衝突。我們仍需要繼續修改

<Connector port="8089" protocol="AJP/1.3" redirectPort="8443" />
<Server port="8085" shutdown="SHUTDOWN">

9. 進入到 /usr/local/tomcat9/bin目錄下,啟動Tomcat

[root@localhost /]# cd /usr/local/tomcat9/bin  //進入到tomcat9的bin目錄下
 
[root@localhost bin]# ./startup.sh  //啟動Tomcat

當看到Tomcat started,則表示Tomcat已經啟動成功

10.查詢埠是否有程序守護用如下命令grep對應埠,如8088為埠號

netstat -nalp|grep 8088

11.防火牆

#停止firewall
systemctl stop firewalld.service 
 
#開啟firewall
systemctl start firewalld.service
 
#禁止firewall開機啟動
systemctl disable firewalld.service 
 
#檢視預設防火牆狀態(關閉後顯示not running,開啟後顯示running)
firewall-cmd --state

但是開啟防火牆,可能報這個錯

Failed to start firewalld.service: Unit firewalld.service is masked.

可以嘗試輸入下面命令看是否能解決,如果無法解決也可以選擇關閉防火牆

systemctl unmask firewalld.service