【问题标题】:play framework deployment on Ubuntu 16.04 with systemd使用 systemd 在 Ubuntu 16.04 上播放框架部署
【发布时间】:2017-09-07 12:57:25
【问题描述】:

当我按照official docs 的 deb 样式部署说明进行操作时,我在 Ubuntu 16.04 上收到以下错误消息:

选择以前未选择的包 my-app。 (正在读取数据库...当前安装的 310635 个文件和目录。) 准备解压.../my-app_1.0-SNAPSHOT_all.deb ... 解压我的应用程序 (1.0-SNAPSHOT) ... 设置我的应用程序 (1.0-SNAPSHOT) ... initctl:无法连接到 Upstart:无法连接到套接字 /com/ubuntu/upstart:连接被拒绝 无法启动 my-app.service:未找到单元 my-app.service。 my-app 无法注册或启动 处理 ureadahead (0.100.0-19) 的触发器 ...

我认为这是因为 Upstart 已被弃用,但构建系统正在生成依赖于 Upstart 的 deb。有什么方法可以使用 deb 文件部署到 Ubuntu 16.04 并有一个工作的 systemd 服务?

【问题讨论】:

    标签: playframework ubuntu-16.04 systemd playframework-2.5 sbt-native-packager


    【解决方案1】:

    在您的 build.sbt 中,添加以下内容:

    import com.typesafe.sbt.packager.archetypes.ServerLoader
    
    serverLoading in Debian := ServerLoader.Systemd
    

    生成的.deb 现在应该使用 SystemD 而不是 Upstart。

    【讨论】:

      【解决方案2】:

      Salem 的回答对于 1.2.x 之前的版本是正确的。对于 1.2.x 及更高版本,您必须启用正确的自动插件才能启用系统加载器支持。

      ``` enablePlugins(SystemdPlugin) ````

      有关可用选项,请参阅文档: packager.readthedocs.io/en/v1.2.0-m9/archetypes/systemloaders.html

      【讨论】:

        猜你喜欢
        • 2019-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-26
        • 1970-01-01
        • 2017-08-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多