nginx+apache+htaccess+static
Gena Makhomed
gmm на csdoc.com
Ср Авг 10 23:03:49 UTC 2011
On 11.08.2011 1:08, Oleksandr V. Typlyns'kyi wrote:
>>>> но в случае mass virtual hosting`а - администратор вынужден давать
>>>> пользователям .htaccess иначе его достанут запросами на изменение
>>>> конфигурации и apache только тем и будет заниматься что релоад
>>>> конфигурации после того как администратор внесет вручную
>>>> в основной конфиг запрашиваемые пользователями изменения.
>>> В случае с .htaccess apache делает(а то и циклически) "релоад конфигурации" на каждый запрос.
>> Нет.
>> service httpd reload - это достаточно дорогое удовольствие,
>> потому что при этом перезапускаются worker-процессы апача.
> Геннадий, я имел ввиду следующее:
> "However, putting this configuration in your server configuration file will result in less of a performance hit, as the configuration is loaded once when Apache starts, rather than every time a file is requested"
> Вас беспокоит расход ресурсов на reload, но целиком устраивает процессинг .htaccess на каждый запрос?
"процессинг .htaccess на каждый запрос" - это самый оптимальный вариант.
расход ресурсов на "процессинг .htaccess" гораздо меньше чем на релоад.
> А ведь запросов, по сравнению с изменениями конфигурации, в очень много раз больше.
все эти файлы .htaccess которые апач будет открывать при обработке
запросов клиентов и так уже будут находиться в файловом кеше
операционной системы - их не надо будет считывать с жесткого диска
сервера. Какие именно ресурсы Вы пытаетесь экономить, предлагая вместо
.htaccess файлов писать весь конфиг в httpd.conf и делая частые релоады?
чтобы было понятно о чем разговор: mass virtual hosting - это когда
на сервере много разных клиентов, которые имеют доступ к своим файлам
по ssh/ftp и которые достаточно часто что-то там устанавливают,
обновляют, изменяют, редактируют и т.п. в день будет происходить
при этом от нескольких десятков до нескольких сотен и даже тысяч
релоадов httpd из-за изменений единственного конфига httpd.conf
не уверен, что такие частые релоады httpd будут более оптимальным
вариантом, чем использование .htaccess из файлового кеша сервера.
>> старые worker-процессы nginx получают сигнал QUIT на плавное завершение,
>> которое может занять от нескольких секунд до нескольких часов и даже
>> дней, в зависимости от того, насколько большие файлы отдаются клиенту
>> и насколько медленно он их скачивает с веб-сервера.
> Для apache можно задать GracefulShutdownTimeout:
> http://httpd.apache.org/docs/2.2/mod/mpm_common.html#gracefulshutdowntimeout
это приведет к тому, что часть клиентов получат обрыв связи
и недокачанный файл. в результате - есть риск получить претензии
о том, что "до 26 апреля сего года не было ни единого разрыва".
в общем - совсем не убедительно что полный отказ от использования
.htaccess файлов принесет пользу а не вред. учитывая даже только
сколько времени надо будет потратить на объяснение клиентам,
почему апач игнорирует все их настройки в файлах .htaccess
особенно, если они закрыли доступ к какому-то каталогу
через .htaccess а потом вдруг оказалось, что эти файлы
доступны всем желающим через сеть интернет.
"Такой хоккей нам не нужен!" (с) Николай Озеров
http://sport.rambler.ru/news/10347/11272212.html
>>> Хотя людям любящим .htaccess достаточно и просто apache без nginx.
>> http://lurkmore.ru/ЧСВ ?
> Нет - ЧНЯЧ.
"Хотя людям любящим .htaccess достаточно и просто apache без nginx"
- это разве хоть чем-то похоже на ЧНЯЧ ???
> Документация apache говорит что .htaccess - плохо для производительности.
частые релоады апача для производительности будут еще хуже.
> Любишь .htaccess - не любишь производительность.
"любить файлы" - это в каком смысле? не совсем понимаю.
> Не нужна производительность - зачем же тогда nginx?
попробуйте сделать mass virtual hosting без поддержки .htaccess файлов,
и Вам тогда сразу станут очевидными Все Ваши заблуждения на этот счет.
> У подавляющего большинства потребителей shared hosting нет огромных файлов.
а если есть? файлы от нескольких сотен мегабайт до нескольких гигабайт.
> А посему их, как уже писал Максим Дунин, при необходимости .htaccess можно полностью проксировать.
приведите пожалуйста фрагмент конфига nginx,
как Вы себе это проксирование представляете.
> При этом через разные location для разных типов файлов можно задать нужные параметры буферизации.
параметры двойной буферизации файлов на жесткий диск сервера?
это снизит нагрузку backend-сервера, но увеличит дисковый i/o.
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru