在之前的博文中已經對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