Ctrl-w удаляет назад после определения a word
поскольку активный плагин типа файла может счесть целесообразным. Если Вы хотите изменить a word
значение, просто добавьте специальные символы, которые Вы считаете частью слова в iskeyword
опция как ниже.
:set iskeyword+=;
- 1 для всех говорящих для изменения редактора это не помогает проблеме вообще.
Вам необходимо создать файл конфигурации в разделе /etc/tmpfiles.d/
, определяющий, что этот каталог должен быть создан systemd во время загрузки /запускать.
$ more /etc/tmpfiles.d/uwsgi.conf
D /run/uwsgi 0770 uwsgi uwsgi -
Задайте для него любые права собственности / разрешения, которые вы считаете подходящими для вашей ситуации.
ПРИМЕЧАНИЕ: Если вы используете настройку, которую я предоставил выше, вы, вероятно, захотите добавить группу uwsgi
к пользователю Nginx nginx
:
$ sudo usermod -a nginx -G uwsgi
Из tmpfiles.d (5):
Системным демонам часто требуются частные каталоги времени выполнения ниже / run для размещения коммуникационных сокетов и т.п. (5) для подробностей), если это возможно.
И из systemd.exec (5):
RuntimeDirectory =, RuntimeDirectoryMode =
Получает список имен каталогов. Если установлено, один или несколько каталогов с указанными именами будут созданы ниже / run (для системных служб) или ниже $ XDG_RUNTIME_DIR (для пользовательских служб) при запуске модуля и удаляются при остановке модуля. Каталоги будут иметь режим доступа, указанный в RuntimeDirectoryMode =, и будут принадлежать пользователю и группе, указанным в User = и Group =. Используйте это для управления одним или несколькими каталогами времени выполнения модуля и привязки их времени жизни к среде выполнения демона.
Другими словами, при использовании tmpfiles.d для этой «работы» официально рекомендованный способ - добавить
RuntimeDirectory=uwsgi
в раздел [Service]
вашего юнит-файла.
Это имеет то преимущество, что он короче, гарантирует, что он создан с правильным владельцем пользователя / группы, и очищает каталог при остановке демона.
Несколько команд ExecStartPre не всегда выполняются в том же порядке, в каком они перечислены в файле .service.
Что работает, так это объединить все команды в один вызов sh, например:
ExecStartPre=/bin/sh -c 'mkdir -p /run/uwsgi ; chown uwsgi:uwsgi /run/uwsgi'
Пакет uwsgi
, который я устанавливал — пакет по умолчанию в CentOS 7 — уже включал правильный файл /usr/lib/tmpfiles.d/uwsgi.conf
. Но каталога по-прежнему не было. Перезагрузка, вероятно, вызвала бы его создание при новом запуске systemd-tmpfiles
, но в моем случае —
Мне нужно было бежать
systemd-tmpfiles --create
после установки пакета, чтобы сразу создать каталог.