¿Dónde debería colocar el archivo systemd, por ejemplo, para Nginx nginx.service
o algo así en Ubuntu 16.04?
Respuesta1
El lugar recomendado es/etc/systemd/system/nginx.service
Luego emita el comando:
systemctl enable nginx
Y finalmente
systemctl start nginx
Respuesta2
Por lo general, en Ubuntu, los archivos unitarios proporcionados por el paquete van en /lib/systemd/system/
el directorio, por ejemplo, /lib/systemd/system/nginx.service
mientras que el usuario proporcionó o cualquier modificación de los archivos unitarios proporcionados por el paquete van en el /etc/systemd/system/
directorio.
Ahora, para anular, puedes:
Nombra el archivo de la unidad como el paquete proporcionado, por ejemplo, para anular
/lib/systemd/system/nginx.service
, puedes crear el archivo/etc/systemd/system/nginx.service
y colocar las directivas allí.O puede crear un fragmento directo que termine
.conf
en un directorio que lleva el nombre del archivo de la unidad original y.d
se agrega al nombre del directorio, por ejemplo, puede crear un archivo con el nombre/etc/systemd/system/nginx.service.d/override.conf
y colocar declaraciones allí.
Ahora, puede aprovechar el systemctl edit
comando para hacer todas las cosas manuales por usted, es decir, creará el archivo de anulación necesario (al principio creará un archivo temporal (con directorio(s) intermedio(s) para fragmentos de código directos) y luego al guardarlo, se confirmará y rename()
el archivo temporal se convertirá en el archivo final deseado), y solo necesita editar el archivo para agregar sus anulaciones.
Por ejemplo, para crear un fragmento de anulación para ngnx.service
( /lib/systemd/system/nginx.service
) mencionado anteriormente:
systemctl edit nginx.service
Por defecto utilizará el archivo /etc/systemd/system/nginx.service.d/override.conf
. Si --full
se utiliza, /etc/systemd/system/nginx.service
se utilizará el archivo de reemplazo completo (el contenido original /lib/systemd/system/nginx.service
se copiará a este archivo).
También puede usarlo --runtime
para crear el fragmento /run/systemd/system/
(al principio, un fragmento directo, luego completo --runtime
y --full
no son mutuamente excluyentes) que, por supuesto, será temporal.
Obviamente puedes elegir el editor a utilizar, el orden de precedencia es:
$SYSTEMD_EDITOR > $EDITOR > $VISUAL > editor > nano > vim > vi