ubuntu下如何让play的应用开机自动启动?
请教各位
下面是安装这个自动启动脚本的脚本 命名 install_myapp
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
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
可以测试
已经搞定了,分享一下。 这是 LSB 运行脚本, 脚本命名 myapp
#! /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
注意### BEGIN INIT INFO 和 ### END INIT INFO 部分 不能删除,不是单纯注释,是系统识启动时识别用到的。
脚本中的 myapp 和java home等目录替换成你的应用即可
rm *****.pid 语句应该可以删除,留在那里是为了防止play非法关闭,还留有pid文件,start命令不能正常启动的情况。
touch语句是为了测试看是否执行,可删除。
非常感谢楼上的朋友! 不过这个是reahat系的,不能用于ubuntu吧
参考httpd,cups等服务写linux标准的lsb脚本(Init 脚本)吧 然后通过chkconfig加入开/关机列表 即可
mysql 的启动、关闭顺序较高,会优先启动和关闭,不用担心
有命令,例如 /mydir/play/play run myapp
但是我看mysql等自动启动脚本没这么简单。我们的应用还需要让play的启动顺序在mysql之后。
另外服务器关机的时候要自动带上停止服务的处理。
请有play经验的爱好者说说部署的经验。谢谢
请play
什么叫play的应用啊?有启动命令吗?如果有的话,可以放在 /etc/init.d下面的启动脚本中,linux都这样的
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(7)
下面是安装这个自动启动脚本的脚本 命名 install_myapp
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
可以测试
已经搞定了,分享一下。 这是 LSB 运行脚本, 脚本命名 myapp
注意### BEGIN INIT INFO 和 ### END INIT INFO 部分 不能删除,不是单纯注释,是系统识启动时识别用到的。
脚本中的 myapp 和java home等目录替换成你的应用即可
rm *****.pid 语句应该可以删除,留在那里是为了防止play非法关闭,还留有pid文件,start命令不能正常启动的情况。
touch语句是为了测试看是否执行,可删除。
引用来自#6楼“gtd”的帖子
非常感谢楼上的朋友! 不过这个是reahat系的,不能用于ubuntu吧
非常感谢楼上的朋友! 不过这个是reahat系的,不能用于ubuntu吧
参考httpd,cups等服务写linux标准的lsb脚本(Init 脚本)吧 然后通过chkconfig加入开/关机列表 即可
mysql 的启动、关闭顺序较高,会优先启动和关闭,不用担心
有命令,例如 /mydir/play/play run myapp
但是我看mysql等自动启动脚本没这么简单。我们的应用还需要让play的启动顺序在mysql之后。
另外服务器关机的时候要自动带上停止服务的处理。
请有play经验的爱好者说说部署的经验。谢谢
请play
什么叫play的应用啊?有启动命令吗?如果有的话,可以放在 /etc/init.d下面的启动脚本中,linux都这样的