gpt4 book ai didi

java - 如何在 Debian 上部署 Play 2.0 应用程序?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:18:55 24 4
gpt4 key购买 nike

我有 play 应用程序,以便在 Debian 上轻松部署,有哪些方法可以

  1. 使用标准的 init.d 脚本从代码中创建守护进程,这里的主要问题是如何优雅地停止应用程序?

  2. 我如何将代码编译为一个 fat jar,与多个文件和目录(部署 Play 应用的标准方式)相比,易于维护 1 个单个文件。

最佳答案

  1. 假设您正在使用“play dist”包,您可以围绕它创建一个简单的 init.d 脚本。像这样的东西:

/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

2。他们实际上没有项目的单个文件分布。你能做的最好的事情就是运行“play dist”来生成一个可分发的包。即使它作为单个文件分发,它也可能会在运行时被提取到文件系统中以提高效率(war 文件的处理方式)。

关于java - 如何在 Debian 上部署 Play 2.0 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9770728/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com