使用 systemd 在 Ubuntu 16.04 上播放框架部署

Posted

技术标签:

【中文标题】使用 systemd 在 Ubuntu 16.04 上播放框架部署【英文标题】:play framework deployment on Ubuntu 16.04 with systemd 【发布时间】: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 服务?

【问题讨论】:

【参考方案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

【讨论】:

以上是关于使用 systemd 在 Ubuntu 16.04 上播放框架部署的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu17.04使用systemd设置开机启动

ubuntu17.04使用systemd设置开机启动

ubuntu16.04 安装X11vnc,实现远程桌面

ubuntu 16.04使用阿里云镜像

ubuntu 16.04 搭建tigervnc

ubuntu16.04 安装 vnc server 及eclipse配置