Что лучший способ состоит в том, чтобы иметь uwsgi, создают '/run/uwsgi' папка на перезагрузке?

Ctrl-w удаляет назад после определения a word поскольку активный плагин типа файла может счесть целесообразным. Если Вы хотите изменить a word значение, просто добавьте специальные символы, которые Вы считаете частью слова в iskeyword опция как ниже.

:set iskeyword+=;

- 1 для всех говорящих для изменения редактора это не помогает проблеме вообще.

6
21.06.2016, 17:16
5 ответов
[1175462] В конце концов, я решил эту проблему, используя последние дистрибутивы. Fedora 20 и [1175866]yum install uwsgi[1175867] собрали окружение, в котором все эти подробности обрабатывались автоматически для меня, пока я ранее пытался перенести их на систему Fedora17, где они были недоступны в репозиториях yum.[12183]Способ, которым Fedora 20 решает эту проблему, заключается в том, чтобы иметь это в своем сервисном модуле uwsgi: [12184]
2
27.01.2020, 20:20

Вам необходимо создать файл конфигурации в разделе /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

Ссылки

5
27.01.2020, 20:20

Из tmpfiles.d (5):

Системным демонам часто требуются частные каталоги времени выполнения ниже / run для размещения коммуникационных сокетов и т.п. (5) для подробностей), если это возможно.

И из systemd.exec (5):

RuntimeDirectory =, RuntimeDirectoryMode =

Получает список имен каталогов. Если установлено, один или несколько каталогов с указанными именами будут созданы ниже / run (для системных служб) или ниже $ XDG_RUNTIME_DIR (для пользовательских служб) при запуске модуля и удаляются при остановке модуля. Каталоги будут иметь режим доступа, указанный в RuntimeDirectoryMode =, и будут принадлежать пользователю и группе, указанным в User = и Group =. Используйте это для управления одним или несколькими каталогами времени выполнения модуля и привязки их времени жизни к среде выполнения демона.

Другими словами, при использовании tmpfiles.d для этой «работы» официально рекомендованный способ - добавить

RuntimeDirectory=uwsgi

в раздел [Service] вашего юнит-файла.

Это имеет то преимущество, что он короче, гарантирует, что он создан с правильным владельцем пользователя / группы, и очищает каталог при остановке демона.

15
27.01.2020, 20:20

Несколько команд ExecStartPre не всегда выполняются в том же порядке, в каком они перечислены в файле .service.

Что работает, так это объединить все команды в один вызов sh, например:

ExecStartPre=/bin/sh -c 'mkdir -p /run/uwsgi ; chown uwsgi:uwsgi /run/uwsgi'
0
27.01.2020, 20:20

Пакет uwsgi, который я устанавливал — пакет по умолчанию в CentOS 7 — уже включал правильный файл /usr/lib/tmpfiles.d/uwsgi.conf. Но каталога по-прежнему не было. Перезагрузка, вероятно, вызвала бы его создание при новом запуске systemd-tmpfiles, но в моем случае —

Мне нужно было бежать

systemd-tmpfiles --create

после установки пакета, чтобы сразу создать каталог.

0
27.01.2020, 20:20

Теги

Похожие вопросы