she*_*eki 9 java debian scala playframework-2.0 playframework-2.2
我有玩应用程序,以便在Debian上轻松部署,有什么方法
使用标准的init.d脚本从代码中创建一个守护进程,这里的主要问题是如何优雅地停止应用程序?
如何将代码编译为胖jar,与多个文件和目录(部署Play应用程序的标准方式)相比,易于维护1个单独的文件.
/etc/init.d/play.myplayapp
#! /bin/sh
### BEGIN INIT INFO
# Provides: play
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description:
# Description:
### END INIT INFO
APP="myplayapp"
APP_PATH="/opt/play/$APP"
start() {
$APP_PATH/start &
}
stop() {
kill `cat $APP_PATH/RUNNING_PID`
}
case "$1" in
start)
echo "Starting $APP"
start
echo "$APP started."
;;
stop)
echo "Stopping $APP"
stop
echo "$APP stopped."
;;
restart)
echo "Restarting $APP."
stop
sleep 2
start
echo "$APP restarted."
;;
*)
N=/etc/init.d/play.$APP
echo "Usage: $N {start|stop|restart}" >&2
exit 1
;;
esac
exit 0
Run Code Online (Sandbox Code Playgroud)
他们实际上并没有单一的项目文件分发.你能做的最好的就是运行"play dist"来生成一个可分发的包.即使它是作为单个文件分发的,它也可能在运行时被提取到文件系统只是为了提高效率(只是如何处理war文件).