Запрос на запуск caddy.service повторяется слишком быстро

Я использую systemd для запуска веб-сервера caddy на машине с Ubuntu 16.04. Всякий раз, когда я запускаю sudo service caddy start и service caddy status, я получаю эту ошибку:

● caddy.service - Caddy webserver
   Loaded: loaded (/etc/systemd/system/caddy.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2016-08-29 05:03:02 EDT; 4s ago
     Docs: https://caddyserver.com/
  Process: 1135 ExecStart=/usr/local/bin/caddy -agree -email me@example -pidfile=/var/run/caddy/caddy.pid (code=exited, status
 Main PID: 1135 (code=exited, status=1/FAILURE)

systemd[1]: Started Caddy webserver.
caddy[1135]: Activating privacy features... done.
caddy[1135]: 2016/08/29 05:03:02 Caddyfile:12 - Parse error: unknown property 'errors'
systemd[1]: caddy.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: caddy.service: Unit entered failed state.
systemd[1]: caddy.service: Failed with result 'exit-code'.

person Keith    schedule 29.08.2016    source источник


Ответы (2)


В моем файле /etc/systemd/system/caddy.service у меня была следующая строка:

Restart=on-failure

Комментирование этого (с # или ;) и перезапуск службы показало основную проблему, которая была в моем Caddyfile.

ИЗМЕНИТЬ:

service caddy status печатает только несколько строк из журнала, поэтому иногда вы можете найти основную проблему, просто просмотрев полный журнал. При использовании системного журнала это делается с помощью:

journalctl -u caddy
person Keith    schedule 29.08.2016

Для тех, кто еще дергает себя за волосы, обратите внимание на строки StartLimitInterval и StartLimitBurst в файле caddy.service — если вы тестируете и постоянно останавливаетесь/запускаете, вы достигнете предела StartLimitBurst. Нужно увеличить его до лотов или изменить StartLimitInterval, чтобы разрешить это.

person Tobin    schedule 02.08.2017
comment
похоже, что ключевое слово StartLimitInterval могло быть изменено на StartLimitIntervalSec в соответствии с: freedesktop.org/software/systemd/man/ - person Alex Fortin; 04.11.2018
comment
Более того, интуиция подсказывает, что если StartLimitBurst ограничение будет достигнуто в течение StartLimitIntervalSec секунд, процесс больше не сможет запускаться. Итак, вам нужно увеличить StartLimitBurst и уменьшить StartLimitIntervalSec. Например, в моем собственном процессе я использовал: StartLimitBurst=100 и StartLimitInterval=3. (Я не знаю, хорошая ли это практика, но это только пример) - person Alex Fortin; 04.11.2018