CentOS 7 安裝 Apache Tomcat 8 & ServerJRE 8

一般來說,使用Apache Tomcat 8(以下簡稱Tomcat),一定有Java的運行存在
如果沒有Java卻使用Tomcat的話…那就…沒有吧…

Tomcat:
選擇您的Tomcat版本,所有程式起步一定先決定哪個版本,達成共識
並且了解版本之中的差異?做出最理想的選擇
Tomcat版本差異表
決定好之後,下載Core類型,因為是CentOS7,下載ZIP或tar.gz封裝
Tomcat8下載

Java:
JDK的部份,這邊有分為ServerJRE與JDK
依照用途做選擇,如果是對外的Server,就必須選擇ServerJRE
差異在於ServerJRE少掉Browser Java Plug-in,auto-update以及無安裝程序
ServerJRE8下載

安裝:
當有了Java與Tomcat後,並且確認兩者確實相容後(這蠻重要的)
將其解壓縮後,放到CentOS7上面,開始進行後續作業
由於路徑這東西,比較個人觀點,這邊介紹個人佈署時的作法,並非絕對

將apache-tomcat-8.5.3.tar.gz與server-jre-8u92-linux-x64.tar.gz放到以下路徑
/usr/tomcat與/usr/java,假如沒有請自行建立

修改設定:

# vim /etc/profile

加入文字內容

JAVA_HOME=/usr/java/java
 JRE_HOME=/usr/java/java/jre
 PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
 CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
 TOMCAT_HOME=/usr/local/tomcat/tomcat
 export JAVA_HOME JRE_HOME PATH CLASSPATH TOMCAT_HOME

設定systemctl tomcat.service

 # vim /etc/systemd/system/tomcat.service

文字內容

# Systemd unit file for tomcat
 [Unit]
 Description=Apache Tomcat Web Application Container
 After=syslog.target network.target

[Service]
 Type=forking

Environment=JAVA_HOME=/usr/java/java
 Environment=CATALINA_PID=/usr/tomcat/tomcat/temp/tomcat.pid
 Environment=CATALINA_HOME=/usr/tomcat/tomcat
 Environment=CATALINA_BASE=/usr/tomcat/tomcat
 Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
 Environment='JAVA_OPTS=-Djdk.tls.client.protocols="TLSv1.2" -Dsun.security.ssl.allowUnsafeRenegotiation=false -Dhttps.protocols="TLSv1.2"'
 ExecStart=/usr/tomcat/tomcat/bin/startup.sh
 ExecStop=/bin/kill -15 $MAINPID

User=tomcat
 Group=tomcat

[Install]
 WantedBy=multi-user.target

其中,CATALINA_OPTS請依照實際環境修改
再來建立執行環境以及Tomcat User

建立java路徑:

 # cd /usr/java
 # ln -s jdk1.8.0_92/ java

這樣更換版本時,環境參數就不用修改,只需要變更link
取消link時,請使用unlink,例如

 # cd /usr/java
 # unlink java

建立tomcat路徑:

 # cd /usr/tomcat
 # ln -s apache-tomcat-8.5.3 tomcat

如上,更換版本,systemctl設定就不用修改,只需要變更link
取消link時,也一樣請使用unlink,例如

 # cd /usr/tomcat
 # unlink tomcat

建立Tomcat User:

 # useradd -M -s /sbin/nologin tomcat

useradd 參數說明:
-M:不建立Home dir
-s:User使用的Shell,/sbin/nologin就是禁止登錄,apache也是這樣的

修改Tomcat資料夾權限:

 # chown -R tomcat:tomcat /usr/tomcat/

千萬不要為了方便,用root啟動tomcat

修改Tomcat log存放位置:

 # mkdir /var/log/tomcat
 # rm -r /usr/tomcat/apache-tomcat-8.5.3/logs
 # cd /usr/tomcat/apache-tomcat-8.5.3
 # ln -s /var/log/tomcat logs

這樣就不需要一個一個去修改tomcat中的log位置,直接放到本身規劃的地方

啟動tomcat:

 # systemctl daemon-reload

重新載入systemctl

 # systemctl start tomcat

啟動tomcat

 # systemctl enable tomcat

設定開機啟動,並非必要,依實際環境做設定

此時,tomcat因為並非root,所以不能使用1024以下的port啟動
記得別為了方便而改用root啟動阿…
請利用CentOS7本身firewalld的forward來做這件事情

 # yum install firewalld
 # systemctl start firewalld
 # systemctl enable firewalld
 # firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080 --permanent
 # systemctl restart firewalld

此時,就會把連到這台Server的80全部轉到8080使用

之後,將.war檔案放到/usr/tomcat/tomcat/webapps(或自訂路徑)中看看效果

這樣的設定完成後,除了更換Tomcat與ServerJRE版本相當容易外
也符合不使用root啟動tomcat原則,還能達成http的連線

至於tomcat本身設定檔,之後會再找時間介紹一下

廣告

對「CentOS 7 安裝 Apache Tomcat 8 & ServerJRE 8」的一則回應

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s