Развертывание Play Framework на Ubuntu 16.04 с помощью systemd

Когда я следую инструкциям по развертыванию в стиле deb из официальных документов, я получаю следующее сообщение об ошибке в Ubuntu 16.04:

Выбираем ранее невыбранный пакет my-app. (Чтение базы данных... 310635 файлов и каталогов, установленных в настоящее время.) Подготовка к распаковке.../my-app_1.0-SNAPSHOT_all.deb ... Распаковка my-app (1.0-SNAPSHOT) ... Настройка my-app (1.0-SNAPSHOT) ... initctl: Невозможно подключиться к Upstart: Не удалось подключиться к сокету /com/ubuntu/upstart: Соединение отклонено Не удалось запустить my-app.service: Модуль my-app.service не найден. my-app не удалось зарегистрировать или запустить Обработка триггеров для ureadahead (0.100.0-19) ...

Я предполагаю, что это потому, что Upstart устарел, но система сборки генерирует deb, который зависит от Upstart. Есть ли способ развернуть файл deb в Ubuntu 16.04 и получить работающий сервис systemd?

2 ответа

В вашем build.sbtдобавьте следующее:

import com.typesafe.sbt.packager.archetypes.ServerLoader

serverLoading in Debian := ServerLoader.Systemd

Сгенерированный .deb теперь следует использовать SystemD вместо Upstart.

Ответ Салема верен до версии 1.2.x . Начиная с версии 1.2.x вам необходимо включить правильный автоплагин, чтобы включить поддержку системного загрузчика.

`` `enablePlugins (SystemdPlugin)` `` `

См. Документацию для доступных параметров: packager.readthedocs.io/en/v1.2.0-m9/archetypes/systemloaders.html

Другие вопросы по тегам