Por que o processo do systemd pára assim que ele é iniciado para o processo do servidor do contramestre?

2

Estou tentando exportar um aplicativo Ruby simples usando o foreman. Com base em seu uso para o systemd, pareço estar fazendo as coisas corretamente.

No entanto, quando eu inicio o target / service, recebo mensagens de status ao longo das linhas:

systemd[1]: Starting app-web-1.service...
systemd[1]: Started app-web-1.service.
systemd[1]: Service app-web-1.service is not needed anymore. Stopping.
systemd[1]: Stopping app-web-1.service...
systemd[1]: Stopped app-web-1.service.

O processo começa e termina. Não tenho ideia do porquê isso está acontecendo.

Concedido, não sou especialista em systemd. Esta é minha primeira vez lidando com scripts de serviço, portanto, não tenho certeza se existe algo nos arquivos gerados que está causando isso.

Ao exportar através do capataz, alguns arquivos de destino e de serviço são criados. Assim, existem alguns que eu tenho que lidar.

Aqui está o conteúdo de app.target:

[Unit]
StopWhenUnneeded=true
Wants=app-web.target

[Install]
WantedBy=multi-user.target

E o conteúdo do app-web-1.target:

[Unit]
StopWhenUnneeded=true
Wants=app-web-1.service

Por fim, app-web-1.service:

[Unit]
StopWhenUnneeded=true

[Service]
User=deployer
WorkingDirectory=/home/deployer/app/releases/20141202043054
Environment=PORT=5000
ExecStart=/bin/bash -lc 'bundle exec puma -p 5000 '
Restart=always
StandardInput=null
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=%n
KillMode=process

Obviamente, StopWhenUnneeded faz parte do problema, mas não tenho certeza do que isso deve fazer no contexto de iniciar um servidor da Web no meu aplicativo.

Alguém pode me ajudar a descobrir como colocar o servidor em funcionamento e permanente?

    
por Pori 05.12.2014 / 17:25

2 respostas

2

Embora o grawity tenha sido uma grande ajuda para descobrir qual era o problema, eu finalmente resolvi executando um comando simples, mas ignorado:

sudo systemctl enable app.target

Foi isso. Basta ativar o alvo e o serviço funcionará como um encanto.

Os documentos do CoreOS me ajudaram a descobrir isso.

    
por 05.12.2014 / 21:41