Пятница, 17.05.2024, 08:17
Приветствую Вас Гость | RSS
Мой сайт
Главная
Регистрация
Вход
Форма входа

Меню сайта

Категории раздела
Об ОС Windows [137]
В категории размещаются статьи, касающщиеся операционных систем от Microsoft.
Об ОС *Nix [198]
В данной категории собраны статьи об ОС семейства Unix/Linux/FreeBSD/...
Справочные материалы [351]
Справка по всему разделу.
Виртуализация и Облака [46]
Networks & Routing [86]
DataBases [22]

Наш опрос
Оцените мой сайт
Всего ответов: 209

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » Системное администрирование » Об ОС *Nix

Apache vs Nginx vs lighttpd
Цитата:
Сообщение от mnn Посмотреть сообщение
На самом деле - да, серверы разные и не совсем взаимозаменяемые (оба хороши ).

nginx - лёгкий веб-сервер. Если Вы планируете раздавать исключительно статику, то делать это при помощи nginx - отличное решение.

Всё зависит от конкретных задач. У Apache очень много модулей на разные случаи жизни, но он весьма требователен к ресурсам машины. И смысл от этой навороченной функциональности, сами понимаете, будет только в том случае, если она будет востребована в конкретной ситуации.

Между тем, как уже сказал vanjouke, очень эффективно они работают в связке Apache+nginx. Первый обрабатывает динамические запросы, а второй раздаёт статику.

Надо сказать, что и nginx уже очень многое умеет. Но об этом лучше расскажут специалисты.
Описано более-менее, но есть еще один момент из-за которого в большинстве случаев их используют вместе, не только для разделения статики и динамики.

Apache действительно более реусрсоемкий, и он не отпускает занятые ресурсы (не убивает процесс) пока не отдаст все что должен пользователю. Бывает такое что у пользователя коннект медленный, да и вообще часто бывает так что сервер генерит ответ гораздо быстрее чем отдает (и все время пока отдает занимает ресурсы, которые ему уже не особо нужны, т.к. ответ он уже сгенерил). Вот для того чтобы избежать этого эффекта ставят связку apache + nginx: внешние запросы приходят к nginx'у, он передает их апачу и возвращает ответ, фишка в том что как только apache отдал ответ на запрос nginx'у апачевский процесс (или тред, я не помню как там организованно) умирает, а клиенту уже данные возвращает nginx, который значительно легче.

Цитата:
Сообщение от Unlock
Насколько nginx полноценная замена Apache
Не на 100% в полном смысле, но в тех задачах которые нужны среднестатистическому сайту на все 500%
Только надо прочитать документацию и разобраться, и всё будет хорошо.
Зингельшухер вне форума   Ответить с цитированием


Цитата:
Сообщение от Lifemaster Посмотреть сообщение
nginx - для раздачи статики, если на сайте одна динамика, то имхо в связке nginx+apache смысла нет.
очень даже есть (описывал выше зачем ставят именно связку apache+nginx, когда все внешние запросы идут к апачу через nginx). Вы никогда не замечали на довольно крупных сайтах (если не ошибаюсь и sape и habr, и shop-script, и многие другие сайты рунета) иногда такую nginx'овую белую страничку типа Error 504 (показывается когда nginx не может получить ответа от апача) ? У них все страницы, и динамика, и статика отдаются через nginx'овую прослойку, и поверьте, это не просто так сделано.


Цитата:
Сообщение от kxk Посмотреть сообщение
mnn, В принципе имея прямые руки можно и к nginx дописать поддержку .htaccess.
Для шареда хороши связки Apache+nginx.
А для нагруженный проектов nginx+fcgi
Нельзя. Тогда nginx перестанет быть nginx'ом.

Boris A Dolgov добавил 21.01.2009 в 20:54
Цитата:
Сообщение от timur-kar Посмотреть сообщение
очень даже есть (описывал выше зачем ставят именно связку apache+nginx, когда все внешние запросы идут к апачу через nginx). Вы никогда не замечали на довольно крупных сайтах (если не ошибаюсь и sape и habr, и shop-script, и многие другие сайты рунета) иногда такую nginx'овую белую страничку типа Error 504 (показывается когда nginx не может получить ответа от апача) ? У них все страницы, и динамика, и статика отдаются через nginx'овую прослойку, и поверьте, это не просто так сделано.
Такая страничка бывает и при ошибке проксирования не только на апач, но и на fastcgi-сервер.
__________________
С уважением, Борис Долгов.
Администрирование, дешевые лицензии ISPsystem, качественно переведеные DirectAdmin-скины MarinaRS и Capri - http://www.isplicense.ru.



Вообще, если есть руки и желание копаться в конфигурации - nginx для Вас. Можно сделать практически все, что есть в apache (кроме, пожалуй, каких-то экзотических модулей).
Но для массовового шареда всю его прелесть оценить не получится.

А статику проксировать на Апач может быть надо для логгирования в одном месте (как вариант - подсчета трафика) (хотя у nginx логи построены намного умнее, чем у апача, либо для авторизации через realm). Но это опять же на общем хостинге, где у юзера нет возможности влиять на конфиг. На высоконагруженных проектах отдавать статику через апач - бред.

Boris A Dolgov добавил 21.01.2009 в 20:59
Цитата:
Сообщение от kxk Посмотреть сообщение
Boris A Dolgov, Сырцы открыты бери и пиши что хочешь Нельзя по идеалогическим, но можно по практическим соображениям
Нельзя и по практическим соображениям. Конфигурация компилируется в момент запуска, а не в момент выполнения запроса. При выполнении запроса не дергается куча файлов и stat()'ов.

ПО мотивам ветки поставил себе nginx..
до этого стоял апач, мод_пхп, еасселератор
первое впечатление от нгникс - не очень... как-то быстро откомпилился
когда поставил fastcgi - чуть-чуть погруснел.. призводительность упала ужас, по сравнению с мод_пхп...
еще раз погрустнел, когда начал переписывать .хтекесс ... оказывается в nginx нельзя написать регулярку, типа /[0-9]{4}/ а ее надо заменить /[0-9][0-9][0-9][0-9]/ ...
все- таки, осилив себя, приложил, и таки переписал все реврайт рулы
... все сайты поднялись после дня работы от начала установки (пишлось перекомпилить пхп со всеми экстеншенами)
скорость отработки скриптов снизилась
поставил eaccelerator - время генерации скриптов вернулась на прежний уровень. но результат отдается с мизерной задержкой, по сравнению мод_пхп
помимо этого, значительно быстрее стал уходить осталной контент: картинки, сиэсэсы, яваскрипты и тп.
и удалось освободить достаточно много памяти. если раньше нужнобыло тратить ~ 200 мб, то теперь все работает на 65. разницу с удавольствием пущу на индексы в Mysql

итог - больше доволен , чем не доволен. страницы визуально грузятся быстрее (за счет быстрой отдачи картинок , стилей, яваскриптов). освободилось достаточно памяти. но есть свои приколы в реврайтах, часть функциональности потеряна. скрипты отдаются медленне, но совсем незначительно
MOP1 вне форума   Ответить с цитированием


По умолчанию Ответ: Apache vs nginx

php как fastcgi он для экономии памяти, а не для ускорения
__________________
Постоянно скупаю забаненые домены/АГС с ТИЦ от 10+


Цитата:
Ну, собственно говоря, это естественно - php-процессор все тот же, ускорить по сравнению с mod_php он врядли сможет заметно.
Единственный вопрос - про рерайты, у меня такие работают. Какую ошибку писал nginx?
опа. это уже интересно.

значится-так:

если делаю так:
Цитата:
rewrite ^/([A-Za-z0-9_]{1,255})/?$ /index.php?page_alias=$1 last;
то получаю вот так...
Цитата:
yandex# /usr/local/etc/rc.d/nginx restart
Performing sanity check on nginx configuration:
2009/01/26 19:37:24 [emerg] 47089#0: directive "rewrite" is not terminated by ";" in /usr/local/etc/nginx/зкзкзкзкз.rules:9
2009/01/26 19:37:24 [emerg] 47089#0: the configuration file /usr/local/etc/nginx/nginx.conf test failed
а если так:
Цитата:
rewrite ^/([A-Za-z0-9_]+)/?$ /index.php?page_alias=$1 last;
то все нормально...

думал, это фича такая... может фигурные скобки экранировать надо?



------

зы:
Цитата:
http://sysoev.ru/nginx/docs/http/ngx...e.html#rewrite
> Если в регулярном выражении встречаются символы "}" или ";", то всё выражение нужно заключить в одинарные или двойные кавычки.

rewrite "/\d{4}/" ...
вот спасибо



По умолчанию Re: Apache vs nginx

У меня тут масса вопросов появилась.
Сам пользую Apache+Lighhttpd.
Но изначально не верно реализовал програмную часть, и вся статика заварачивается изначально Апачем по средствам .htaccess.
В свою очередь, получил, что в любом случае изначально запрос получает Апач.
Да lighhttpd разгрузил конечно, но ожидаемого эффекта не достиг.
lighhttpd - настроен на отдельном ip, статику отдает через поддомен.
Так, что если есть большие нагрузки, учтите, и так не делайте.

Nicola добавил 22.01.2009 в 01:03
Цитата:
Сообщение от Unlock Посмотреть сообщение
Не знаю, может по lighttpd отдельну тему завести? Его можно использовать как альтернативу апач или нет? Какие с lighttpd основные проблемы или хитрости?
Думаю, уместнее понять, что нужно реализовать.
Далее уже от этого исходить, что нужно для реализации.
lighttpd - решает свои вопросы, Apache - решает другие.
lighttpd - в базе, отдает статику, Вы на него скрипты (ПХП) не повесите. Да им очень удобно отдавать текст, картинки etc ...
+ к lighttpd такой, что конфиг реально написать руками за минуту. Очень просто в базовой версии по использованию.

Nicola добавил 22.01.2009 в 01:06
Цитата:
Сообщение от iamliss Посмотреть сообщение
Зачем в связке использовать два веб сервера да ещё и на одном серваке??? маразм полнейший, первый раз такое слышу.
Если небольшая нагрузка апача хватит за глаза. Если есть большая нагрузка и апач не справляется или подтормаживает - тогда более лёгкие веб сервера + fcgi. Я выбрал не nginx, а lighttpd - ещё легче и проще. Пробовал и то и другое и ещё много всего.
Какой маразм ?
Вот закой мне к lighttpd модули писать, чтоб он мне PHP юзал ? По банальной полиике безопастности использовать чужие это не серьезно. Писать самому ? Время дорого.
Ещё хуже взять модуль, который не будет работать и сидеть кавырять чужой код.
Зачем ? Если можно использовать уже давно всеми изученные связки ?

Последний раз редактировалось Nicola, 22.01.2009 в 02:06. Причина: Добавлено сообщение
Nicola вне форума   Ответить с цитированием


Ответ: Re: Apache vs nginx
Цитата:
Сообщение от Nicola Посмотреть сообщение
Nicola добавил 22.01.2009 в 01:03
lighttpd - в базе, отдает статику, Вы на него скрипты (ПХП) не повесите. Да им очень удобно отдавать текст, картинки etc ...
+ к lighttpd такой, что конфиг реально написать руками за минуту. Очень просто в базовой версии по использованию.

Nicola добавил 22.01.2009 в 01:06

Какой маразм ?
Вот закой мне к lighttpd модули писать, чтоб он мне PHP юзал ? По банальной полиике безопастности использовать чужие это не серьезно. Писать самому ? Время дорого.
Ещё хуже взять модуль, который не будет работать и сидеть кавырять чужой код.
Зачем ? Если можно использовать уже давно всеми изученные связки ?
Вы плохо разобрались. Никакие модули для юзания пхп писать не надо. Пхп подключается через fastcgi отлично, это делается в конфиге 10 строчками типа таких

PHP код:
fastcgi.server = ( ".php" =>
   (( 
"socket" => var.var_path "php-fastcgi.socket",
      
"bin-path" => "/путь/php-cgi -c " + var.conf_path "php.conf",
      
"min-procs" => 1,
      
"max-procs" => 1,
      
"bin-environment" => (
        
"PHP_FCGI_CHILDREN" => "количесто процессов",
        
"PHP_FCGI_MAX_REQUESTS" => "10000" ),
      
"broken-scriptfilename" => "enable",
   ))
 ) 
Derek добавил 22.01.2009 в 12:42
Цитата:
Сообщение от Andreyka Посмотреть сообщение
У лайти больше опций - одна поддержка .htaccess чего стоит, соответственно меньше производительности.
Хотя кривыми настройками и nginx можно замедлить до лайти - не спорю...
нет у lighttpd поддержки .htaccess, разве, что вроде какой-то 3rd party модуль был, сами разработчики на форуме писали - хотите терять в производительности из-за тупого считывания .htaccess при каждом реквесте - пользуйтесь им, а так с редиректами через конфиг все летает.






Источник: http://forum.searchengines.ru/showthread.php?t=308568
Категория: Об ОС *Nix | Добавил: admin (30.11.2010)
Просмотров: 4357 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz


  • Copyright MyCorp © 2024