CentOS7下利用init.d啟動腳本實現tomcat開機自啟動


在之前的博文中已經對CentOS7下通過tomcat進行WEB系統的發布進行了介紹,今天將利用init.d啟動腳本,將服務腳本加入到開機啟動服務隊列,實現tomcat服務的開機啟動。

1. 環境准備

1.1 系統

操作系統:CentOS 7(64位)

1.2 工具/軟件

已安裝JDK,並配置好環境變量 
已安裝tamcat,可手動啟動

2. 方法/步驟

2.1 JDK環境配置

CentOS7默認安裝了OpenJDK,用於支持Tomcat啟動是沒有問題的。如果項目需要使用Sun的JDK特性的話,就需要重新配置Sun的JDK環境。這里可以參照本人之前的博文:《17101501_CentOS7下卸載openJDK安裝Sun公司的JDK》。

2.2編寫tomcat服務腳本文件

在/etc/init.d/目錄下創建tomcat8服務腳本文件。 
執行腳本:

[root@localhost /]# vim /etc/init.d/tomcat8
[root@localhost /]# cat /etc/init.d/tomcat8

 

將下面內容進行粘貼:

#!/bin/bash
#
# tomcat startup script for the Tomcat server
#
#
# chkconfig: 345 80 20
# description: start the tomcat deamon
#
# Source function library
. /etc/rc.d/init.d/functions

prog=tomcat8
JAVA_HOME=/usr/java/jdk1.8.0_151/  # 根據自己的路徑改寫JAVA_HOME
export JAVA_HOME
CATALANA_HOME=/usr/local/tomcat/   # 根據自己的路徑改寫CATALANA_HOME
export CATALINA_HOME

case "$1" in
start)
    echo "Starting Tomcat..."
    $CATALANA_HOME/bin/startup.sh
    ;;

stop)
    echo "Stopping Tomcat..."
    $CATALANA_HOME/bin/shutdown.sh
    ;;

restart)
    echo "Stopping Tomcat..."
    $CATALANA_HOME/bin/shutdown.sh
    sleep 2
    echo
    echo "Starting Tomcat..."
    $CATALANA_HOME/bin/startup.sh
    ;;

*)
    echo "Usage: $prog {start|stop|restart}"
    ;;
esac
exit 0

 

保存退出

2.3 賦權限,測試啟動腳本

執行腳本:

[root@localhost /]# cd /etc/init.d/
[root@localhost init.d]# chmod 755 tomcat8    #賦予權限
[root@localhost init.d]# service tomcat8 start  #啟動服務
Starting tomcat8 (via systemctl):                          [  確定  ]
[root@localhost init.d]# service tomcat8 stop   #停止服務
Stopping tomcat8 (via systemctl):                          [  確定  ]
[root@localhost init.d]# service tomcat8 restart  #重啟服務
Restarting tomcat8 (via systemctl):                        [  確定  ]

 

2.4 將服務腳本加入到系統啟動隊列

執行腳本:

[root@localhost zm]# chkconfig tomcat8 on  #服務腳本加入到系統啟動隊列
[root@localhost zm]# chkconfig --list  tomcat8  #檢查 oracle服務是否已經生效
 注意:該輸出結果只顯示 SysV 服務,並不包含原生 systemd 服務。SysV 配置數據可能被原生 systemd 配置覆蓋。 如果您想列出 systemd 服務,請執行 'systemctl list-unit-files'。 欲查看對特定 target 啟用的服務請執行 'systemctl list-dependencies [target]'。
tomcat8         0:關    1:關    2:開    3:開    4:開    5:開    6:關
 
        

2.5 重啟系統,測試配置結果

一般情況下,啟動是沒有問題的。

這里多說點兒,因為CentOS7的自啟動服務開始由systemctl逐漸替代了早期版本中的chkconfig和service形式。 
這里我嘗試了一下用指令:systemctl start tomcat8啟動服務,系統提示systemctl daemon-reload命令加載服務,執行后,發現可以通過systemctl命令進行簡單的控制,如查詢狀態,啟動服務,終止服務,重啟服務等操作。但是關於開機啟動的設置是不可以的,還需要通過老命令chkconfig實現。

 

轉:http://blog.csdn.net/oaim_zh/article/details/78316254

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM