選擇您的Tomcat版本,所有程式起步一定先決定哪個版本,Tomat解版本之中的差異:
http://tomcat.apache.org/whichversion.html
Tomcat 下載:
http://tomcat.apache.org/download-80.cgi
JDK的部份,這邊有分為ServerJRE與JDK,依照用途做選擇,如果是對外的Server,就必須選擇ServerJRE,ServerJRE少掉Browser Java Plug-in,auto-update以及無安裝程序。
Server JRE (Java SE Runtime Environment) 8 Downloads
http://www.oracle.com/technetwork/java/javase/downloads/server-jre8-downloads-2133154.html
當有了Java與Tomcat後,並且確認兩者確實相容後,將其解壓縮後,放到CentOS7上面,將apache-tomcat-8.5.?.tar.gz與server-jre-8u??-linux-x64.tar.gz放到以下路徑
/usr/tomcat與/usr/java,假如沒有請自行建立
使用問號,是因為一直在改版,不知道你下載到那一版。我目前是下載到 tomcat 8.5.20
修改設定:
# 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' ExecStart=/usr/tomcat/tomcat/bin/startup.sh ExecStop=/bin/kill -15 $MAINPID User=tomcat Group=tomcat [Install] WantedBy=multi-user.target
附註1:在Ubuntu 上不需要用到這一個 .service 檔案。
附註2: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.20 tomcat
如上,更換版本,systemctl設定就不用修改,只需要變更link
取消link時,也一樣請使用unlink,例如
# cd /usr/tomcat # unlink tomcat
建立Tomcat User:
# useradd -M -s /sbin/nologin tomcat
參數說明:
-M:不建立Home dir
-s:User使用的Shell,/sbin/nologin就是禁止登錄,apache也是這樣的
修改Tomcat資料夾權限:
# chown -R tomcat:tomcat /usr/tomcat/
PS: 千萬不要為了方便,用root啟動tomcat
修改Tomcat log存放位置:
# mkdir /var/log/tomcat # rm -r /usr/tomcat/apache-tomcat-8.5.20/logs # cd /usr/tomcat/apache-tomcat-8.5.20 # ln -s /var/log/tomcat logs
這樣就不需要一個一個去修改tomcat中的log位置,直接放到本身規劃的地方
啟動tomcat:
# systemctl daemon-reload
重新載入systemctl
# systemctl start tomcat
啟動tomcat
# systemctl enable tomcat
設定開機啟動,並非必要,依實際環境做設定
此時,tomcat因為並非root,所以不能使用1024以下的port啟動
PS: 別為了方便而改用root啟動…
請利用CentOS7本身firewalld 或 iptabes 的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的連線