Onde devo colocar o arquivo systemd, por exemplo, Nginx nginx.service
ou algo parecido no Ubuntu 16.04?
Responder1
O local recomendado é/etc/systemd/system/nginx.service
Em seguida, emita o comando:
systemctl enable nginx
E finalmente
systemctl start nginx
Responder2
Normalmente, no Ubuntu, os arquivos de unidade fornecidos pelo pacote vão para o /lib/systemd/system/
diretório, por exemplo, /lib/systemd/system/nginx.service
enquanto o usuário fornecido ou qualquer modificação no(s) arquivo(s) de unidade fornecido(s) pelo pacote vai para o /etc/systemd/system/
diretório.
Agora, para substituir, você pode:
Nomeie o arquivo da unidade como o pacote fornecido, por exemplo, para substituir
/lib/systemd/system/nginx.service
, você pode criar o arquivo/etc/systemd/system/nginx.service
e colocar as diretivas neleOu você pode criar um snippet drop-in terminando
.conf
em um diretório com o nome do arquivo da unidade original e.d
anexado ao nome do diretório, por exemplo, você pode criar um arquivo chamado/etc/systemd/system/nginx.service.d/override.conf
e colocar instruções nele
Agora, você pode aproveitar o systemctl edit
comando para fazer todo o trabalho manual para você, ou seja, ele criará o arquivo de substituição necessário para você (primeiro ele criará um arquivo temporário (com diretório(s) intermediário(s) para snippets drop-in), e após salvá-lo irá confirmar rename()
o arquivo temporário no arquivo final desejado), e você só precisa editar o arquivo para colocar suas substituições.
Por exemplo, para criar um snippet de substituição para ngnx.service
( /lib/systemd/system/nginx.service
) mencionado acima:
systemctl edit nginx.service
Por padrão, ele usará o arquivo /etc/systemd/system/nginx.service.d/override.conf
. Se --full
for usado, o arquivo de substituição completo /etc/systemd/system/nginx.service
será usado (o conteúdo original /lib/systemd/system/nginx.service
será copiado para este arquivo).
Você também pode usar --runtime
para criar o snippet /run/systemd/system/
(primeiro o snippet drop-in, depois inteiro --runtime
e --full
não são mutuamente exclusivos) que será temporário, é claro.
Obviamente você pode escolher o editor a ser usado, a ordem de precedência é:
$SYSTEMD_EDITOR > $EDITOR > $VISUAL > editor > nano > vim > vi