国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 服务器 > ubuntu下让play framework的应用开机自动启动

ubuntu下让play framework的应用开机自动启动

来源:程序员人生   发布时间:2014-03-31 05:14:29 阅读次数:2726次

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
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
为码而活
积分:4237
15粉丝
7关注
栏目热点
关闭
程序员人生