Куда мне поместить файл systemd, например, для Nginx nginx.service
или чего-то подобного в Ubuntu 16.04?
решение1
Рекомендуемое место —/etc/systemd/system/nginx.service
Затем введите команду:
systemctl enable nginx
И наконец
systemctl start nginx
решение2
Обычно в Ubuntu предоставленные пакетом файлы модулей располагаются в /lib/systemd/system/
каталоге eg , /lib/systemd/system/nginx.service
тогда как предоставленные пользователем или любые изменения в предоставленных пакетом файлах модулей располагаются в /etc/systemd/system/
каталоге .
Теперь, чтобы переопределить, вы можете:
Назовите файл модуля так, как это предусмотрено пакетом, например, для переопределения
/lib/systemd/system/nginx.service
, вы можете создать файл/etc/systemd/system/nginx.service
и поместить туда директивы.Или вы можете создать вставляемый фрагмент, заканчивающийся на
.conf
в каталоге, который назван в честь исходного файла модуля с.d
добавлением к имени каталога, например, вы можете создать файл с именем/etc/systemd/system/nginx.service.d/override.conf
и поместить туда операторы
Теперь вы можете использовать systemctl edit
команду для выполнения всех действий вручную, то есть она создаст для вас необходимый файл переопределения (сначала она создаст временный файл (с промежуточным(и) каталогом(ами) для вставляемых фрагментов), а после сохранения она зафиксирует rename()
временный файл в желаемом конечном файле), и вам просто нужно будет отредактировать файл, чтобы вставить свои переопределения.
Например, чтобы создать переопределяющий фрагмент для ngnx.service
( /lib/systemd/system/nginx.service
), упомянутого выше:
systemctl edit nginx.service
По умолчанию будет использоваться файл /etc/systemd/system/nginx.service.d/override.conf
. Если --full
используется , то /etc/systemd/system/nginx.service
будет использоваться полный файл замены (исходный контент /lib/systemd/system/nginx.service
будет скопирован в этот файл).
Вы также можете использовать --runtime
его для создания фрагмента /run/systemd/system/
(сначала вставленного фрагмента, затем целого, чтобы --runtime
они --full
не были взаимоисключающими), который, конечно, будет временным.
Разумеется, вы можете выбрать используемый редактор, порядок приоритета следующий:
$SYSTEMD_EDITOR > $EDITOR > $VISUAL > editor > nano > vim > vi