手順 / 概要
[1] /etc/init.d/ に起動スクリプトを配置する [2] insserv コマンドで、起動スクリプトを登録する [3] 再起動して確認 詳細な手順は、後述の「手順 / 詳細」を参照のこと
環境
* ホストOS : Windows 8.1 * ゲストOS : Debian7 * 仮想化ソフト : VMware(R) Workstation 10.0.2 build-1744117 * JDK : JDK1.8 * Tomcat : Tomcat8
前提条件
[1] JDK / Tomcat のインストール
http://blogs.yahoo.co.jp/dk521123/33854227.htmlで、JDK / Tomcat をインストールしておくこと
手順 / 詳細
[1] /etc/init.d/ に起動スクリプトを配置する
* /etc/init.d/skeleton にサンプルがあるファイル名「tomcat」 / 格納先: /etc/init.d
#! /bin/sh # Provides: tomcat # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Tomcat start/restart/stop # Description: Tomcat start/restart/stop # placed in /etc/init.d. CATALINA_HOME=/usr/tomcat TOMCAT_USER=root SHUTDOWN_WAIT=10 tomcat_pid() { echo `ps aux | grep $TOMCAT | grep -v grep | awk '{ print $2 }'` } start() { pid=$(tomcat_pid) if [ -n "$pid" ] then echo "Tomcat is already running (pid: $pid)" else echo "Starting Tomcat" /bin/su $TOMCAT_USER $CATALINA_HOME/bin/startup.sh fi return 0 } stop() { pid=$(tomcat_pid) if [ -n "$pid" ] then echo "Stoping Tomcat" /bin/su $TOMCAT_USER $CATALINA_HOME/bin/shutdown.sh echo -n "Waiting for processes to exit [" let kwait=$SHUTDOWN_WAIT count=0; until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ] do echo -n "."; sleep 1 let count=$count+1; done echo "Done]" if [ $count -gt $kwait ] then echo "Killing processes ($pid) which didn't stop after $SHUTDOWN_WAIT seconds" kill -9 $pid fi else echo "Tomcat is not running" fi return 0 } status() { pid=$(tomcat_pid) if [ -n "$pid" ] then echo "Tomcat is running with pid: $pid" else echo "Tomcat is not running" fi } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac exit 0
[2] insserv コマンドで、起動スクリプトを登録する
chmod 755 /etc/init.d/tomcat sudo insserv tomcat inserv -s で一覧表示して、登録できたかを確認する
[3] 再起動して確認
restart してから、ブラウザで以下のURLにアクセスする[http://localhost:8080/]
参考文献
* Debianでのデーモン登録についてhttp://helloidea.org/index.php/archives/1207.html
* 起動スクリプト
https://hirooka.pro/?p=6698
* insserv コマンド
http://lotus.hatenablog.com/entry/20120727/1343331806