Voltar às ferramentas

Gerador de Ficheiro de Serviço Systemd

Preencha o seu executável, diretório de trabalho, política de reinício e utilizador — obtenha uma unidade .service pronta a instalar (e um .timer complementar opcional), com cada linha gerada explicada.

Predefinições

Comece a partir de uma carga de trabalho comum

Carrega valores predefinidos sensatos para os campos abaixo. Tudo continua editável depois.

[Unit]

Descrição & ordem

A secção [Unit] é metadados e ordenação — diz ao systemd o que este serviço é e depois do quê deve arrancar, mas não inicia nada por si só.

Unidades depois das quais este deve arrancar, separadas por espaço.

[Service] — processo

O que executar

Caminho absoluto obrigatório.

Usa o User por predefinição quando deixado em branco.

[Service] — ambiente

Variáveis de ambiente

Cada linha torna-se a sua própria linha Environment=. Use antes EnvironmentFile para segredos que não quer que fiquem no próprio ficheiro de unidade.

Opcional, caminho absoluto.

[Install]

Quando arranca automaticamente

A secção [Install] só importa para o systemctl enable — diz de qual sequência de arranque este serviço deve fazer parte.

[Service] — fiabilidade

Política de reinício

Não é um simples ligar/desligar — escolha a variante que corresponde a como este processo deve falhar.

Reinicia em caso de crash, saída com código diferente de zero, ou timeout — mas um "systemctl stop" deliberado ou uma saída limpa exit(0) são deixados em paz. A escolha habitual para uma app de longa duração ou servidor de jogo: recupera de crashes sem entrar em conflito com um administrador que o parou de propósito.

Segundos a aguardar antes de reiniciar.

Opcional

Limita quanta RAM e CPU este serviço pode usar. Deixe isto desativado a menos que precise mesmo de um teto rígido.

Validação

Erros comuns

Parece limpo — nenhum problema detetado.

Unidade complementar opcional

Executa este serviço num horário em vez de (ou além de) no arranque — o equivalente systemd de uma tarefa cron, ligado a cargas de trabalho Type=oneshot. Prefere um cron simples para algo simples? Uma ferramenta separada de Gerador de Cron Job trata disso em vez disso — OnCalendar= é uma sintaxe diferente do cron e não é um substituto direto.

Resultado

Ficheiro(s) de unidade gerado(s)

my-application.service

[Unit]
Description=My application
After=network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/usr/bin/node /opt/wespner-app/server.js
WorkingDirectory=/opt/wespner-app
User=wespner-app
Environment="NODE_ENV=production"
Environment="PORT=3000"
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Comandos de instalação

sudo cp my-application.service /etc/systemd/system/my-application.service
sudo systemctl daemon-reload
sudo systemctl enable --now my-application.service
journalctl -u my-application.service -f   # follow logs

Gere o seu próprio servidor de jogos?

Servidores de jogos Wespner com proteção DDoS, discos NVMe e ativação em poucos minutos.

Ver alojamento