centos6.9下安裝javaweb執行環境
1、安裝jdk
使用jdk-8u181-linux-x64.rpm安裝包
給安裝包賦予執行許可權
[[email protected] local]# chmod 755 jdk-8u181-linux-x64.rpm
安裝rpm安裝包
[[email protected] local]# rpm -i jdk-8u181-linux-x64.rpm
設定環境變數
[[email protected] jdk1.8.0_181-amd64]# vi /etc/profile
在profile的最後加入
export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
儲存退出。
[[email protected] jdk1.8.0_181-amd64]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
jdk安裝完成
2、安裝tomcat
使用apache-tomcat-8.5.34.tar.gz安裝包
[[email protected] bin]# tar zxvf apache-tomcat-8.5.34.tar.gz
[[email protected] bin]# ./startup.sh
[[email protected] bin]# netstat -apn|grep 8080
tcp 0 0 :::8080 :::* LISTEN 3692/java
啟動成功
3、配置iptables
[[email protected] ~]# vi /etc/sysconfig/iptables
在iptables中新增規則
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
重啟生效
[[email protected] ~]# service iptables restart
4、檢視開機自啟動中是否有定時器crond
命令為 chkconfig --list
如果沒有crond項,在開機自啟動中新增chkconfig --add crond
5、在定時器中定時檢測tomcat
在定時器中新增定時執行的指令碼crontab -e
*/5 * * * * /usr/local/crondtomcat.sh
crondtomcat.sh的內容如下(網上搜索的內容,不是自己寫的):
#!/bin/sh
# func:自動監控tomcat指令碼並且執行重啟操作
# author:EagleHao
# date:2018-04-08
# DEFINE
# 獲取tomcat程序ID(其中[grep -w 'tomcat']程式碼中的tomcat需要替換為你的tomcat資料夾名)
export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export CATALINA_HOME=/usr/local/apache-tomcat-8.0.53
TomcatID=$(ps -ef |grep tomcat |grep -w 'tomcat'|grep -v 'grep'|awk '{print $2}')
# tomcat啟動程式(這裡注意tomcat實際安裝的路徑)
StartTomcat=/usr/local/apache-tomcat-8.0.53/bin/startup.sh
TomcatCache=/usr/local/apache-tomcat-8.0.53/work
#定義要監控的頁面地址
WebUrl=http://localhost:8080
#日誌輸出
GetPageInfo=/tmp/TomcatMonitor.Info
TomcatMonitorLog=/tmp/TomcatMonitor.log
Monitor()
{
echo "[info]開始監控tomcat...[$(date +'%F %H:%M:%S')]"
if [ $TomcatID ];then #這裡判斷Tomcat程序是否存在
echo "[info]當前tomcat程序ID為:$TomcatID,繼續檢測頁面..."
# 檢測是否啟動成功(成功的話頁面會返回狀態"200")
TomcatServiceCode=$(curl -s -o $GetPageInfo -m 10 --connect-timeout 10 $WebUrl -w %{http_code})
if [ $TomcatServiceCode -eq 200 ];then
echo "[info]頁面返回碼為$TomcatServiceCode,tomcat啟動成功,測試頁面正常"
else
echo "[error]tomcat頁面出錯,請注意...狀態碼為$TomcatServiceCode,錯誤日誌已輸出到$GetPageInfo"
echo "[error]頁面訪問出錯,開始重啟tomcat"
kill -9 $TomcatID # 殺掉原tomcat程序
sleep 3
rm -rf $TomcatCache # 清理tomcat快取
$StartTomcat
fi
else
echo "[error]tomcat程序不存在!tomcat開始自動重啟..."
echo "[info]$StartTomcat,請稍候..."
rm -rf $TomcatCache
$StartTomcat
fi
echo "--------------------------"
}
Monitor>>$TomcatMonitorLog