ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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


 




Copyright © Lexa Software, 1996-2009.