Я традиционно развернул свои сайты под Apache, просто по умолчанию. Я слышал кое-что о NGinX, и мне интересно, при каких условиях он будет лучше. В дополнение к apache и Nginx, какие еще есть варианты для веб-серверов и каковы их преимущества?
Я традиционно развернул свои сайты под Apache, просто по умолчанию. Я слышал кое-что о NGinX, и мне интересно, при каких условиях он будет лучше. В дополнение к apache и Nginx, какие еще есть варианты для веб-серверов и каковы их преимущества?
Ответы:
Да.
Один из веб-серверов имел большой скачок нагрузки каждые несколько часов. Посмотрев логи, я узнал, когда произошел всплеск нагрузки, там, где много людей смотрели галерею.
Поэтому я выгрузил 99% статического контента из apache в nginx. Apache был оставлен для обслуживания всего php. Нагрузка на мои веб-серверы уменьшилась до довольно низкого значения и больше нет скачков нагрузки.
Если вы хотите получить больше от своих серверов, определенно, чтобы какой-нибудь легкий сервер обслуживал весь статический контент.
Апач может быть немного тяжелым и может упасть при большой нагрузке. Доступны более легкие серверы, включая nginx, lighttpd и cherokee.
Эти облегченные параметры можно настроить для быстрой обработки статических файлов и передачи динамической серверной работы Apache.
Есть куча веб-серверов там. Я ожидаю, зависит от использования вы хотите. Apache сделает большинство того, что хотят люди, он хорошо известен, хорошо обновлен и будет работать практически на любой комбинации оборудования и операционной системы.
Для сравнения веб-серверов, проверьте Сравнение программного обеспечения веб-сервера .
Netcraft отслеживает долю рынка веб-серверов и, по их мнению, IIS стоит на втором месте после Apache с долей 26,03% (по состоянию на июль 2010 года). Это основано на опросе 205+ миллионов сайтов
По этой ссылке есть причины, по которым вам стоит проверить IIS7, если вы сегодня используете Apache
Это действительно зависит от того, что вы делаете.
Если у вас есть только статический контент, вам не нужен Apache. nginx или lighttpd прекрасно вам подойдут.
Если у вас есть сочетание статического и динамического (ну, Perl или PHP), но небольшой сайт, вы все равно можете обойтись одним из этих альтернатив плюс FastCGI, или просто выбросить все это в Apache.
Если вы используете Ruby вместе со своим статическим контентом, mod_passenger
Apache должен хорошо вам служить, а nginx / lighttpd / etc обслуживает ваш статический контент.
Для Python (моя область знаний) вы можете использовать Apache, mod_python
если хотите, но готовьтесь к медлительности. mod_wsgi
лучше, но у вас все еще есть издержки Apache, что хорошо, если у вас много интенсивного динамического трафика. Apache - тяжелый атлет большую часть времени.
Если у вас нет тонны интенсивного трафика, посмотрите на новые системы, такие как gunicorn
или uWSGI
или на универсальный сервер Cherokee для работы с вашим Python. Cherokee также обрабатывает статические файлы. В остальном вы все равно захотите использовать nginx / lighttpd для обслуживания статического контента.
Ява и другие языки я понятия не имею.
Самое замечательное в использовании nginx - это то, что он удивительно настраивается. Поэтому настройте несколько статических серверов с разными поддоменами, по одному для CSS, изображений и JS. Таким образом вы поможете избежать ограничения в 2 файла на домен за раз. Настройте несколько серверов, а затем настройте прокси-сервер / балансировщик нагрузки nginx перед ними, чтобы убедиться, что весь ваш статический контент всегда доступен.
В основном, ДА, посмотрите на больше, чем просто Apache!