ubuntu下讓play framework的應用開機自動啟動
來源:程序員人生 發布時間:2014-03-31 05:14:29 閱讀次數:2911次
ubuntu下讓play framework的應用開機自動啟動
注意:因為上傳文件必須有后綴名,所以加了.sh的后綴,下載之后去掉后綴
注意### BEGIN INIT INFO 和 ### END INIT INFO 部分 不能刪除,不是單純注釋,是系統識啟動時識別用到的。
腳本中的 myapp 和java home等目錄替換成你的應用即可
rm *****.pid 語句應該可以刪除,留在那里是為了防止play非法關閉,還留有pid文件,start命令不能正常啟動的情況。
touch語句是為了測試看是否執行,可刪除。
----------------------------------------------------------------------------------
update-rc.d -f myapp remove
是刪除/etc/init.d/myapp 的所有符號鏈接,刪除之后就不會自動啟動了。
update-rc.d myapp defaults 98 8
的意思是 把 myapp這個啟動腳本的啟動順序設置成 98. 關閉順序(ubuntu系統關閉時的順序)為8
根據各系統不同可以修改值。 查看/etc/rc0.d 到 /etc/rc6.d
看里面的 SnnXXXX 和 KnnXXX 這樣的文件,合理安排啟動順序。順序值越大,越靠后。
因為我的系統中 mysql的啟動順序位85, lighttpd的啟動順序為91,關閉順序為09,
我要保證play在mysql和lighttpd后啟動, 在 lighttpd前關閉,
所以設置 98 8
執行這個腳本,重啟,則play能自動啟動。
要測試 myapp 腳本是否可用,
運行 /etc/init.d/myapp start
/etc/init.d/myapp restart
/etc/init.d/myapp stop
myapp.sh:
#! /bin/sh
# Comments to support LSB init script conventions
### BEGIN INIT INFO
# Provides: myapp
# Required-Start: $local_fs $network $remote_fs
# Required-Stop: $local_fs $network $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop myappservice
# Description: myappservice is myapp server
### END INIT INFO
JAVA_HOME=/myappsys/jdk/jdk1.6.0_24
JRE_HOME=/myappsys/jdk/jdk1.6.0_24/jre
CLASSPATH=".:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH"
PATH="$JAVA_HOME/bin:$JRE_HOME/bin:/myappsys/mysql/mysql/bin:$PATH"
. /lib/lsb/init-functions
case "$1" in
start)
rm /myappsys/myappservice/myapp/server.pid
/myappsys/play/play-1.1.1/play start /myappsys/myappservice/myapp
touch /myappsys/play/myapp_start_2222222
;;
stop)
/myappsys/play/play-1.1.1/play stop /myappsys/myappservice/myapp
rm /myappsys/myappservice/myapp/server.pid
touch /myappsys/play/myapp_stop_2222222
;;
restart|force-reload)
/myappsys/play/play-1.1.1/play stop /myappsys/myappservice/myapp
rm /myappsys/myappservice/myapp/server.pid
/myappsys/play/play-1.1.1/play start /myappsys/myappservice/myapp
touch /myappsys/play/myapp_restart_22222
;;
*)
echo "Usage: /etc/init.d/myapp {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0
install_myapp.sh:
update-rc.d -f myapp remove
cp myapp /etc/init.d/
chmod +x /etc/init.d/myapp
update-rc.d myapp defaults 98 8
sleep 100