Стоит ли смотреть на веб-сервер, отличный от apache?

13

Я традиционно развернул свои сайты под Apache, просто по умолчанию. Я слышал кое-что о NGinX, и мне интересно, при каких условиях он будет лучше. В дополнение к apache и Nginx, какие еще есть варианты для веб-серверов и каковы их преимущества?

Орен Хизкия
источник
3
Очень широкий вопрос. Чтобы ответить на вопрос «стоит», я думаю, что вам нужно дать немного больше объяснения вашего контекста.
jessegavin

Ответы:

6

Да.

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

Поэтому я выгрузил 99% статического контента из apache в nginx. Apache был оставлен для обслуживания всего php. Нагрузка на мои веб-серверы уменьшилась до довольно низкого значения и больше нет скачков нагрузки.

Если вы хотите получить больше от своих серверов, определенно, чтобы какой-нибудь легкий сервер обслуживал весь статический контент.

Эхо говорит Восстановить Монику
источник
С какой стати нагрузка будет другой?
+1, я тоже это делал некоторое время назад, работал отлично.
получают
3
@Kinopkio nginx не требует процесса / потока для каждого соединения, поэтому он может обслуживать такое же количество клиентов, используя меньше ресурсов, чем apache.
получают
Ах, извините, я думал о пропускной способности, а не о нагрузке на сервер.
3

Апач может быть немного тяжелым и может упасть при большой нагрузке. Доступны более легкие серверы, включая nginx, lighttpd и cherokee.

Эти облегченные параметры можно настроить для быстрой обработки статических файлов и передачи динамической серверной работы Apache.

Грант Пэйлин
источник
1

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

Для сравнения веб-серверов, проверьте Сравнение программного обеспечения веб-сервера .

artlung
источник
0

Netcraft отслеживает долю рынка веб-серверов и, по их мнению, IIS стоит на втором месте после Apache с долей 26,03% (по состоянию на июль 2010 года). Это основано на опросе 205+ миллионов сайтов

По этой ссылке есть причины, по которым вам стоит проверить IIS7, если вы сегодня используете Apache

mvark
источник
Проблема с IIS7 на Linux это .... это не Run Run Run .. это не бежать бежать ...
Tim Post
Согласно моему пониманию вопроса, нет ничего, что говорит, что OP требует веб-сервер для конкретной ОС ... или я что-то упустил? Я предположил, что он также может выбрать Windows.
Мварк
0

Это действительно зависит от того, что вы делаете.

Если у вас есть только статический контент, вам не нужен Apache. nginx или lighttpd прекрасно вам подойдут.

Если у вас есть сочетание статического и динамического (ну, Perl или PHP), но небольшой сайт, вы все равно можете обойтись одним из этих альтернатив плюс FastCGI, или просто выбросить все это в Apache.

Если вы используете Ruby вместе со своим статическим контентом, mod_passengerApache должен хорошо вам служить, а nginx / lighttpd / etc обслуживает ваш статический контент.

Для Python (моя область знаний) вы можете использовать Apache, mod_pythonесли хотите, но готовьтесь к медлительности. mod_wsgiлучше, но у вас все еще есть издержки Apache, что хорошо, если у вас много интенсивного динамического трафика. Apache - тяжелый атлет большую часть времени.

Если у вас нет тонны интенсивного трафика, посмотрите на новые системы, такие как gunicornили uWSGIили на универсальный сервер Cherokee для работы с вашим Python. Cherokee также обрабатывает статические файлы. В остальном вы все равно захотите использовать nginx / lighttpd для обслуживания статического контента.

Ява и другие языки я понятия не имею.

Самое замечательное в использовании nginx - это то, что он удивительно настраивается. Поэтому настройте несколько статических серверов с разными поддоменами, по одному для CSS, изображений и JS. Таким образом вы поможете избежать ограничения в 2 файла на домен за раз. Настройте несколько серверов, а затем настройте прокси-сервер / балансировщик нагрузки nginx перед ними, чтобы убедиться, что весь ваш статический контент всегда доступен.

В основном, ДА, посмотрите на больше, чем просто Apache!

Кеннет Лав
источник