Apache или lighttpd

Для разработки я использую локальный стек LAMP, для производства я использую Контейнер Django от MediaTemple (который мне нравится, кстати). Контейнер MT использует lighthttpd. Честно говоря, у меня никогда не было другого опыта с этим. Я всегда использовал Apache. Я читал:

Вот вопросы:

  • Какие преимущества у одного перед другим?
  • Могу ли я выгода использовать lighthttpd в моей настройке разработчика?
  • Что случилось с использованием обоих? В статье Linux.com рассказывается об использовании lighttpd с Apache.

Хороший вопрос, который меня тоже беспокоил! Из того, что я слышал, lighttpd лучше подходит для обслуживания статических файлов, но тогда вы говорите, что установка MT использует его, и я знаю множество сайтов PHP, которые его используют. Надеюсь, кто-нибудь сможет объяснить!

roryf 05.10.2008 19:53
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
12
1
2 547
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Преимущество обоих: Apache более мощный и расширяемый (бесполезен, если вам не нужна эта мощность, но в любом случае ...), а lighttpd быстрее обрабатывает статический контент. Идея состоит в том, чтобы разделить ваш сайт на статический контент (css, js, изображения и т. д.) И динамический код, который проходит через Apache.

Я не говорю, что вы не можете многое сделать с помощью lighttpd самостоятельно. Можно, и люди делают.

Если вы используете lighttpd исключительно на своем производственном сервере, я бы серьезно подумал о том, чтобы отразить его на ваших серверах разработки и промежуточных серверов, чтобы вы точно знали, чего ожидать перед развертыванием.

Хороший момент, я считал само собой разумеющимся, что могут быть различия в «выводе».

imjoevasquez 05.10.2008 19:58

Используйте стандартный веб-сервер. Apache используется на 50% веб-сайтов (Netcraft), поэтому, если вы используете Apache, пользовательские веб-браузеры, пауки, прокси-серверы и т. д. В значительной степени гарантированно будут работать с вашим сайтом (его веб-сервером в любом случае).

Lighthttpd используется 1,5% веб-сайтов (Netcraft), поэтому вероятность того, что люди будут тестировать свои приложения с его помощью, гораздо ниже.

Любая разница в производительности, скорее всего, не будет иметь значения в производственной среде; сервер Apache, вероятно, может обслуживать статические запросы с гораздо большей пропускной способностью, чем у вас, на самом медленном оборудовании, которое вы, вероятно, развернете в производственной среде.

Да, но эти 1,5% веб-сайтов включают YouTube, поэтому я считаю Lighttpd довольно надежным.

Justin Voss 20.10.2008 21:27

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

WhyNotHugo 16.06.2009 08:32

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

Если это сайт вашей матери, который будет получать несколько тысяч посетителей в месяц, apache будет работать лучше. Ей будет намного проще переехать к новому хозяину, и ей будет легче найти поддержку.

Ответ принят как подходящий

Способ взаимодействия между веб-сервером и Django может иметь даже большее влияние на производительность, чем выбор программного обеспечения веб-сервера. Например, известно, что mod_python сильно загружает оперативную память.

Этот вопрос и его ответы также обсуждают другие параметры веб-сервера.

Меня бы не беспокоили проблемы совместимости с клиентским программным обеспечением (см. Комментарий MarkR). У меня не было таких проблем при обслуживании Django с использованием lighttpd и FastCGI. Я хотел бы видеть разнообразную экосистему как серверного, так и клиентского программного обеспечения. Лучше иметь хороший стандарт, чем продукт де-факто от одного поставщика.

Для чисто статических веб-страниц (.gif, .css и т. д.) С n HTTP-запросами с разных IP-адресов: 1. Apache: запускает n процессов (с mod_perl, mod_php в памяти) 2. lighttpd: запускает 1 процесс и 1 поток (вы можете назначить m потоков перед его запуском)

Для чисто динамических веб-страниц (.php, .pl) с n HTTP-запросами с разных IP-адресов: 1. Apache: запускает n процессов (с mod_perl, mod_php в памяти) 2. lighttpd: запускает 1 процесс lighttpd благодаря асинхронному вводу-выводу и запускает m процессов fast-cgi для каждого языка сценариев.

Lighttpd потребляет гораздо меньше памяти. YouTube был большим пользователем lighttpd, пока его не приобрела Google. Посетите его домашнюю страницу для получения дополнительной информации.

P.S. В моей предыдущей компании мы использовали их вместе с балансировщиком нагрузки для распределения HTTP-трафика в соответствии с его суффиксами URL-адресов. Почему не полностью лайттпд? По устаревшим причинам.

Другие вопросы по теме