我正在尝试将我的Play 2网站部署到Ubuntu机器上。
我在Mac OS X 10.10上运行它:./activator debian:packageBin
我的build.sbt是:
import com.typesafe.sbt.SbtNativePackager._
import NativePackagerKeys._
name := """myapp"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava)
scalaVersion := "2.11.1"
libraryDependencies ++= Seq(
javaJdbc,
javaEbean,
cache,
javaWs,
"org.elasticsearch" % "elasticsearch" % "1.4.2",
"com.fasterxml.jackson.datatype" % "jackson-datatype-joda" % "2.5.1"
)
// Don't include API documentation when packaging:
doc in Compile <<= target.map(_ / "none")
maintainer in Linux := "Me <me@example.com>"
packageSummary in Linux := "summary"
packageDescription := "description"
// We need this to be able to build a Debian package on non-Debian systems:
packageBin in Debian <<= debianJDebPackaging in Debian
当我在Ubuntu机器上安装生成的软件包时,它似乎正在运行,但是我的站点无法在端口80或9000上访问。 日志(/ var / log / myapp)为空。实际上,该目录甚至不存在。
当我sudo手动运行/ usr / share / myapp / bin / myapp脚本时,我收到错误:
15:38:33,899 | -ERROR in ch.qos.logback.core.FileAppender [FILE] - 无法为其创建父目录 [/usr/share/myapp/logs/application.log]
15:38:33,900 | -ERROR in ch.qos.logback.core.FileAppender [FILE] - openFile(/usr/share/myapp/logs/application.log,true)调用失败。 java.io.FileNotFoundException:/usr/share/myapp/logs/application.log (没有这样的文件或目录)java.io.FileNotFoundException: /usr/share/myapp/logs/application.log(没有这样的文件或目录)
即使它出现错误,当我手动运行脚本时,站点也会进行排序启动并可在端口9000上访问。
所以,我的问题是:如何通过运行sudo start myapp
自动让软件包运行?