Os passos acima funcionaram lindamente, eu fiz alguns passos detalhados na minha resposta aqui:
Meu env é o seguinte
- Ubuntu às 17.10
- Eu tenho um aplicativo python no servidor Gunicorn 19.x, preciso iniciar esse aplicativo como um serviço.
Primeiramente, você precisa escrever um arquivo foo.service.
[Unit]
Description=FooServer
[Service]
Restart=on-failure
WorkingDirectory=/path/to/your/working/directory/where the foo lives
ExecStart=/what/process/will call foo eg: in my case I used gunicorn app:app
ExecReload=/bin/kill -HUP $MAINPID
KillSignal=SIGINT
[Install]
WantedBy=multi-user.target
O significado de cada palavra no lado esquerdo do sinal '=' e seu equivalente em (para o anterior) está no link link
Quando o arquivo estiver pronto, digamos que você o nomeie como 'foo.service' (a extensão .service é importante)
Você precisa colocar o arquivo em /lib/systemd/system
Depois disso, você precisa ativar o serviço chamando
systemctl enable foo
O que solicitará que você digite sua senha de root, pois ela criará links simbólicos em algumas pastas baseadas em acesso raiz, em que todos os serviços participam.
Se você chegou até aqui sem qualquer aborrecimento, você é bom.
Seu serviço é, portanto, criado.
Comece chamando
sudo service foo start
systemctl status foo
para ver o status
sudo service foo stop
para parar o serviço
Eu estava na página do Gunicorn durante todo o dia de hoje e tentei todas as várias opções e nenhuma delas funcionou e, finalmente, esta funcionou.
Muito obrigado @Zanna e @Nicklas Karlsson