nginx+apache+htaccess+static
Gena Makhomed
gmm на csdoc.com
Чт Авг 11 21:51:05 UTC 2011
On 11.08.2011 12:33, Oleksandr V. Typlyns'kyi wrote:
>>>>>> например, если статика - это файл размером несколько десятков
>>>>>> или сотен мегабайт - при каждой отдаче - nginx будет скачивать
>>>>>> его с apache на максимальной скорости и складывать в свой временный
>>>>>> каталог. и только после этого будет начинать отдавать его клиенту.
>>>>> Бред - он читает и отдаёт одновременно.
>>>> Александр, по сути своего возражения Вы разумеется правы.
>>>> Спасибо за то, что Вы указали мне на ошибку в моих словах.
>>>> По форме - я посмотрел в интернете значение слова "Бред",
>>>> в частности на вики - http://ru.wikipedia.org/wiki/Бред .
>>> Вот "совокупность идей и представлений, умозаключений, возникшая не из
>> поступивших из окружающего мира сведений" хорошо подходит.
>> Учитывая, что в русском языке слово "бред" имеет отрицательный
>> эмоциональный заряд, эти Ваши высказывания в мой адрес следует
>> расценивать как ничем не спровоцированную агрессию с Вашей стороны,
>> или же это просто бедность словарного запаса и неумение найти
>> подходящие слова для адекватного выражения своих мыслей?
> То, что Вы написали - умозаключения, возникшие не из поступивших из окружающего мира сведений.
вообще-то nginx существует в окружающем меня мире. да, - я ошибся
и перепутал логику работы nginx в том случае, когда он проксирует
на apache POST-запрос, полученный от клиента и логику работы nginx
в том случае, когда он отдает клиенту ответ полученный им от apache.
http://www.psychology.su/2009/03/03/bred/
Бред - патологическое состояние человека, при котором он охвачен идеями
или ощущениями, не соответствующими действительности. В этом состоянии
человек глух к любым разумным доводам и доказательствам, опровергающим
его утверждения, его невозможно разубедить в их истинности.
[...]
и далее по тексту. причем, все разумные доводы и доказательства о том,
почему мои слова нельзя квалифицировать как "бред" я Вам уже приводил...
> И Википедия по Вашей же ссылке на русском согласна что это бред.
Type Mismatch Error: википедия не является одушевленным существом, она
не может быть "согласна".
> А восприятие этого как агрессии - продолжение оного и признак Вами же упомянутого ЧСВ.
т.е. Вы упорно продолжаете ставить окружающим диагнозы по переписке
не имея при этом профильного медицинского и/или психологического
образования, и не смотря на все мои логические доводы/аргументы?
см. также
http://man-with-dogs.livejournal.com/443563.html
диагнозы по переписке как последний довод
>>>> 1. или nginx скачивает файл с apache в свой временный каталог
>>>> на максимальной скорости и потом медленно и печально отдает его клиенту
>>>> (особенно интересно это будет с большими файлами по несколько гигабайт)
>>
>>> Это и есть работа акселератора.
>>
>> увеличивать в несколько раз дисковый i/o сервера?
>
> А это уже как буфера настроить.
>
например, так:
location ~* \.(gif|jpg|ico|ttf|bmp|png|swf|rar|zip)$ {
proxy_buffer_size 32k;
proxy_buffers 64 32k;
proxy_busy_buffers_size 1792k;
proxy_max_temp_file_size 10m;
proxy_pass http://...;
}
- всеравно присутствует двойное проксирование
и увеличение нагрузки на дисковую подсистему,
если не в 2-3 раза, то в 1.5-2 как минимум.
>>>> 2. или кто-то очень легко и просто может сделать DoS/DDoS атаку против
>>>> таким образом настроенного веб-сервера, скачивая файл очень медленно,
>>>> так что в результате все worker-процессы апача будут заняты и сайт
>>>> перестанет отвечать на новые запросы пользователей.
>>> А c apache без nginx так не будет?
>> с apache и при нормально настроенном nginx так не будет.
> А разве не про нормальную настройку nginx вся эта переписка?
с моей стороны - да. только "нормальной" я называю такую
настройку, которая является или оптимальной, или близкой
к оптимальной. т.е. когда апач будет делать X-Accel-Redirect
и в результате этого nginx будет самостоятельно отдавать статику,
а веб-сервер apache сможет в это время приступить к обработке
следующего легкого и быстрого запроса, статики или динамики.
вообще, странно - Вы предлагаете "экономить" - "на спичках",
вручную убирая все .htaccess-файлы в основной конфиг сервера,
но при этом - вполне нормально относитесь к увеличению
в несколько раз нагрузки на дисковую подсистему (не кэш!)
и "долгоиграющие" запросы для воркеров апача,
занятых отдачей статики nginx`у.
>>>> превращает проблему с низкой performance работы веб-сервера
>>>> в проблему с возможностью легко сделать denial of service
>>>> для всех сайтов на этом веб-сервере. это совсем не похоже
>>>> на solution и даже словом workaround такую настройку
>>>> веб-сервера назвать трудно.
>>> Повторюсь - а c apache без nginx будет иначе?
>> как минимум - не будет двойного проксирования больших файлов.
>> и не будет увеличения в 2-3 раза нагрузки на дисковую подсистему.
> Опять же - как буфера настроить.
как настроить буфера, чтобы не было увеличения нагрузки на дисковую
подсистему веб-сервера? если
location ~* \.(avi|iso)$ {
proxy_buffer_size 1m;
proxy_buffering off;
proxy_pass http://...;
}
то для чего в таком случае вообще на веб-сервере будет нужен nginx ?
он разве будет каким-то образом выполнять работу акселератора ?
тут не совсем понятна Ваша мысль за счет чего тогда будет ускорение,
особенно в связи с вот этим, достаточно резким Вашим высказыванием:
>>> Хотя людям любящим .htaccess достаточно и просто apache без nginx.
"любят" эти файлы пользователи веб-хостинга и разработчики различных
фреймфорков на php, и apache им всем действительно вполне достаточно,
потому что про существование акселератора и веб-сервера nginx
на сервере хостинга они очень часто даже и не догадываются.
и если "грузить" их еще и информацией про веб-сервер nginx
и про его особенности работы... это им совершенно незачем.
а вот задача системного администратора в этой ситуации - сделать так,
чтобы на сервер поместилось максимальное количество пользовательских
сайтов и они работали с максимально возможной на этой hardware машине
производительностью и эффективностью, без "тормозов" и прочих глюков.
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru