Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Промежуточные каталоги
- To: nginx-ru@xxxxxxxxx
- Subject: Re: Промежуточные каталоги
- From: Gena Makhomed <gmm@xxxxxxxxx>
- Date: Wed, 03 Aug 2011 20:38:42 +0300
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csdoc.com; s=dkim; t=1312393123; bh=KFsbXGVG8d4jx8ov+FGJ+UaFTMDBSZa4aNxmF0jjECQ=; h=Message-ID:Date:From:MIME-Version:To:Subject:References: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=l4IGUPA8LpP0UB9WpImCnCX9e9CqzdJ4ozIB95LSg19yJOzCjGR40416IMyaGYdbP QL7EbZ3DH9bNOVRLVnHUawUf447cnESQi8d4v5b6xK6wXFRQuGH2EimrTuEjX6p6E3 cL6ULwSSjoIrV2hKxAsS+4ZBuGO/FexmQpUN/HNU=
- In-reply-to: <20110803165007.GF33878@xxxxxxxxx>
- References: <20110803165007.GF33878@xxxxxxxxx>
On 03.08.2011 19:50, Igor Sysoev wrote:
На данный момент nginx НЕ создаёт промежуточные каталоги в пути
к каталогу для временных файлов и кэша, то есть, если нужен каталог
/var/nginx/proxy_temp, а каталога /var/nginx нет, то nginx
его не создаст. nginx может создать только proxy_temp в уже созданном
/var/nginx
Тем не менее, периодически возникают пожелания создавать все
промежуточные каталоги.
чаще всего такие проблемы у тех, кто собирает nginx из исходников.
и на системе Windows тоже встречаются такие проблемы, скорее всего.
если nginx устанавливается через rpm-пакет - все необходимые каталоги
уже будут созданы еще в момент установки пакета, до запуска nginx.
Вопрос - какие могут возникнуть проблемы, если nginx будет создавать
все необходимые промежуточные каталоги и с какими, кстати, правами ?
права root:root 755, если промежуточный каталог не называется nginx
и nginx:nginx 700 если имя промежуточного каталога равно nginx
проблемы быть могут - если раздел с кэшем/файлами не примонтирован,
nginx молча создает необходимые ему каталоги в точке монтирования,
что отличается от существующего сейчас поведения nginx (fail-safe)
еще одна проблема - если кто-то допустил ошибку в конфиге,
например, вместо /var/lib/nginx/proxy_temp написал /vae/lib/...
то в этом случае nginx также молча пропустит эту опечатку и создаст
на сервере проблемы, которые можно будет увидеть только тогда,
когда на корневом разделе сервера закончится свободное место.
наверное имеет смысл существующее поведение оставить по умолчанию,
и принудительно создавать промежуточные каталоги только в том случае,
если nginx запускают с параметром командной строки -f (т.е. --force)
кому такое поведение nginx с принудительным созданием промежуточных
каталогов необходимо - просто будут запускать nginx с параметром -f
а у всех остальных пользователей nginx при этом ничего не сломается
и гарантированно nginx не сможет создать никому никаких проблем.
потом, кроме создания необходимых для работы каталогов к опции -f
может быть добавлена еще какая-то дополнительная функциональность.
( это будет означать: запускаться принудительно не смотря на ... )
при этом - выводить информацию / предупреждение о том, что nginx
создает такие каталоги (из-за ключа -f) и в лог и в поток stderr.
если ключ -f не задан - может быть выводить сообщение на экран и в лог,
что такой-то каталог не существует и надо чтобы администратор проверил
конфиг, и создал необходимые каталоги для работы nginx вручную
или просто запустил nginx с параметром командной строки -f,
в этом случае nginx их сам создаст и выставит владельца/права доступа.
пока что наблюдается два крупных подмножества среди пользователей nginx:
1. большинство - те кто устанавливает nginx через rpm-пакеты,
и кому не нужно чтобы nginx сам создавал эти каталоги и будет
даже вредно, поскольку такое поведение может создать проблемы.
т.е. это те, кто используют nginx for production use,
и кому нежелательны какие-либо проблемы из-за nginx.
2. меньшинство пользователей, которые не пользуются rpm-пакетами
и другими средствами операционной системы для установки nginx,
и устанавливают nginx компилируя с исходников, и копируя конфиги
с другой машины, или пользуются windows-версией и тоже копируют
чужие конфиги из интернета или с другой машины - им это будет
полезно и удобно. особенно, если это комплект nginx + fastcgi-php
для программистов и разработчиков, для использования в основном
в development и test environment на своей домашней или рабочей
windows машине, т.е. not for production use.
поэтому - предлагаю по дефолту в nginx ничего не менять и не создавать
(так как сейчас), но для облегчения жизни второй группы пользователей,
добавить в nginx параметр командной строки -f который будет это делать.
--
Best regards,
Gena
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|