Что такое Apache | REG.RU
Браузер и сервер — это только малая часть всей интернет-системы. Рядовой пользователь даже не догадывается, какой путь проходят файлы сайта, чтобы добраться до устройства воспроизведения. Одним из таких неочевидных, но важных элементов является веб-сервер. Для его создания нужна специальная программа. В этой статье мы расскажем, что такое Apache, как он работает и какие преимущества и недостатки у него есть.
Облачные серверы нового поколения
Виртуализация KVM, почасовая оплата, резервные копии, готовые шаблоны, 10 доступных ОС на выбор!
Выбрать тариф
Apache ― это программное обеспечение с открытым исходным кодом, которое позволяет создавать веб-сервер.
Что такое Apache сервер
Веб-сервер — это программа, без которой не может работать сайт в интернете. Cайт — это набор файлов, например, HTML, CSS и JS. В каждом файле находится информация о картинках, тексте, кнопках, шрифтах и других элементах внешнего вида сайта. Все эти файлы находятся на физическом сервере, который имеет или арендует владелец сайта. Чтобы показать пользователю сайт, браузер должен связаться с сервером и получить эти файлы. Для связи с сервером браузер просит помощи у веб-сервера. Веб-сервер получает запрос от браузера, ищет ресурсы сайта и пересылает их ему. Только после этого браузер показывает контент пользователю.
История создания Apache
Apache — это сокращение от «a patchy server», что переводится как сервер с патчами. Такое название появилось из-за происхождения программы. Все началось с разработки веб-сервера CERN HTTPd и NCSA HTTPd в Национальном центре суперкомпьютерных приложений (NCSA). Позднее к проекту подключились другие авторы, которые стали накладывать свои патчи. Патч ― это информация, кусок кода или программный модуль, который исправляет недочёты разработчиков. Их ещё называют заплатки. В 1995 году Брайан Белендорф объединил все патчи и создал команду разработчиков, которая выпустила первую версию Apache. Релиз Apache 1.0 прошёл в декабре 1995 года, но популярной эта программа стала только через год. Далее группа разработчиков расширялась, и они создали Apache для различные операционные системы (Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS).
В 1998 году появилась версия Apache 1.3, а в 1999 году была создана некоммерческая организация Apache Software Foundation. В марте 2000 года состоялась первая конференция для разработчиков ApacheCon. На ней была представлена версия Apache 2.0. Она отличалась новой модульной структурой. Это предоставило широкие возможности для функционала программы. На данный момент последней версией является Apache 2.4.
Архитектура Apache
Apache состоит из ядра и модулей. Ядро выполняет основные функции: обработка конфигурационных файлов, работа с протоколом HTTP, система загрузки модулей. Оно может работать самостоятельно без модулей, но тогда функционал программы будет крайне ограничен. Ядро создала команда компании Apache Software Foundation без вмешательства сторонних разработчиков.
Как можно расширить функционал веб-сервера? Для этого выпускаются модули. Модуль — это код, который расширяет функционал ядра. Они бывают статические и динамические. Статические добавляются к ядру ещё до загрузки программы, то есть пользователь выбирает программу определенной сборки. Динамические можно добавить на этапе загрузки программы при помощи встроенного модуля mod_so.
Модули отвечают за определенные возможности программы. Это может быть поддержка различных языков программирования, повышение безопасности, аутентификация пользователя, исправление ошибок и другие дополнительные функции. Таким образом, Apache — это конструктор, который можно собрать так, как нужно пользователю. Для этой программы существует более 500 модулей. Например, Multi-Processing Module (MPM) — модуль системного уровня. С его помощью можно оптимизировать Apache в условиях конкретной операционной системы.
Как работает Apache
Apache использует технологию мультипроцессинга. Каждое соединение с сервером помещается в отдельный поток и проходит все этапы операции шаг за шагом. Поток можно сравнить с тропинкой, по которой может идти только один человек. Второй человек может пройти по той же тропинке только тогда, когда первый окажется в конечной точке. У такой схемы работы есть один существенный минус — высокий риск перегрузки. Количество потоков ограничено, поэтому, если пользователей слишком много, работоспособность программы снижается. Новое соединение не начнется, пока предыдущая операция не завершится и не освободит поток.
Конфигурация Apache
Система конфигурации web-сервера Apache состоит из 3-х уровней текстовых файлов.
- httpd.conf — основной конфигурационный файл. В нём содержатся директивы, которые управляют работой веб-сервера. Местоположение файла зависит от операционной системы. Узнать, где он находится, можно с помощью команды:
httpd -V
. htaccess — дополнительный конфигурационный файл. Файл (или файлы) .htaccess задают правила работы веб-сервера в каталоге, в котором он размещен, и в его дочерних каталогах, то есть он не затрагивает глобальные изменения работы сервиса. Настройки .htaccess приоритетны перед настройками в httpd.conf. При каждом обращении к веб-серверу Apache просматривает все каталоги на наличие .htaccess.
Виртуальный хост. Он используется для запуска нескольких доменов на одном IP-адресе. Такие хосты нужны пользователям, которые запускают несколько сайтов на одном виртуальном сервере. На один сервер можно добавить неограниченное количество виртуальных хостов. Как это сделать, читайте в статье Как настроить виртуальные хосты в Apache на Ubuntu 16.04/18.04.
Преимущества и недостатки Apache
Преимущества веб-сервера Apache
- Бесплатное программное обеспечение как для личного использования, так и для коммерческого;
- гибкость программы. Открытый исходный код позволяет подстроить программу под специфические нужды пользователя;
- поддержка многих языков программирования
(PHP, Python, Ruby, Perl, ASP, Tcl), что дает доступ к различным серверным ПО; - удобная и надежная конфигурация системы. Приложение легко настраивается через текстовые конфигурационные файлы и может быстро масштабироваться;
- Apache хорошо работает со многими системами управления контентом (CMS), такими как WordPress, Joomla, Drupal;
- поддерживает технологии FastCGI и CGI;
- может использовать СУБД для аутентификации пользователей;
- большая база инструкций. Так как продукт уже давно на рынке, разработчики и пользователи уже написали множество инструкций под разные ситуации.
Недостатки веб-сервера Apache
- При высоком трафике снижается производительность. На высокопосещаемых сайтах может значительно снижаться скорость работы программы. Это связано с особенностью работы сервиса. Каждый пользовательский запрос обрабатывается отдельным потоком. Когда потоки заканчиваются, остальные операции ждут своей очереди. Если планируется большое количество посещений сайта, то лучше использовать Nginx;
- много параметров настройки. Если допустить ошибку при настройке конфигурации, это может привести к появлению уязвимостей во всей системе;
- риск заражения вирусом. Создавать модули могут не только добросовестные разработчики, но и злоумышленники. В модуль может быть внедрён вредоносный код. Устанавливать модули стоит только от проверенных разработчиков.
Теперь вы знаете, что такое веб-сервер Апаче и как он работает. Чтобы установить Apache на CentOS 7, воспользуйтесь инструкцией.
Помогла ли вам статья?
Да
раз уже
помогла
Какая версия Apache используется на вашем хостинге? — Вопросы и ответы — Джино
Какая версия Apache используется на вашем хостинге? — Вопросы и ответы — ДжиноНа серверах «Джино» в качестве веб-сервера используется Apache версии 2.
- Можно ли использовать Cron и как это сделать?
- Есть ли у вас поддержка ASP-скриптов?
- Есть ли у вас PostgreSQL?
- Каков абсолютный путь до корневой папки моего аккаунта на сервере?
- Есть ли доступ к log-файлам? Где мне найти error_log и access_log?
- В логе ошибок часто появляется ошибка доступа к файлу favicon. ico. Что это за файл?
- Можно ли получить дисковое пространство и другие услуги большего объема, чем указано в ценах на услуги?
- Установлен ли у вас mod_rewrite?
- Есть ли ограничение на количество соединений/подключений по FTP и HTTP?
- Нужна ли услуга «Почтовый сервис» для отправки писем с сайта?
- Можно ли запустить Демона (Daemon)?
- У вас установлена библиотека ImageMagick?
- У вас есть поддержка SSL (HTTPS)?
- Есть ли у вас SSH (Shell)?
- У вас установлен модуль ionCube?
- У вас есть поддержка mod_pagespeed?
- Есть ли у вас бэкап (резервное копирование) данных, и как часто он производится?
- Есть ли у вас ограничения по использованию трафика?
Вы можете помочь перенести сайт со старого хостинга к вам?- Как разместить несколько сайтов на одном аккаунте?
- Каковы программно-технические характеристики хостинга «Джино»?
- Зачем нужен файл robots. txt?
- Как считается количество сайтов на сервисе «Хостинг»?
- Видео: «Как ускорить сайт с помощью HTTP/2?»
- Как создать поддомен?
- Поддерживается ли IPv6?
Пример: Как подключить SSH
Нашли ошибку в тексте? Выделите ее и нажмите Ctrl + Enter
+7 495 229-30-31 Москва
+7 812 407-17-11 Санкт-Петербург
+7 343 288-50-31 Екатеринбург
Показать все
© Джино, 2003–2023. «Джино» является зарегистрированным товарным знаком.
Лицензия на телематические услуги связи № 150549 от 09.03.2017.
Правовая информацияПолитика конфиденциальности
Карта сайта
Apache Traffic Server
Программное обеспечение Apache Traffic Server™ — это быстрый, масштабируемый и расширяемый HTTP/1.1 и Кэширование, совместимое с HTTP/2 Прокси сервер. Ранее коммерческий продукт Yahoo! пожертвовал его апачу Foundation и в настоящее время используется несколькими крупными CDN и владельцами контента.
Загрузки Следовать @trafficserver
- Кэширование
Улучшите время отклика, уменьшив нагрузку на сервер и потребность в пропускной способности за счет кэширование и повторное использование часто запрашиваемых веб-страниц, изображений и веб-сервисов звонки.
- Проксирование
Легко добавляйте поддержку активности, фильтруйте или анонимизируйте запросы контента или добавляйте нагрузку балансировка путем добавления прокси-слоя.
- Быстро
Хорошо масштабируется на современном оборудовании SMP, обрабатывая десятки тысяч запросов в секунду. второй.
- Расширяемый
API для написания собственных подключаемых модулей, позволяющих выполнять любые действия, от изменения заголовков HTTP до обработка запросов ESI для написания собственного алгоритма кэширования.
Возникли проблемы со сборками, конфигурациями или возникают ошибки, которые вы не понимаете? Подпишитесь на нашу рассылку пользователей или присоединяйтесь к нашему каналу #traffic-server на Рабочая область ASF Slack для получения помощи! Используйте свой адрес электронной почты @apache. org для автоматического присоединения. Если вам нужно приглашение в рабочую область, свяжитесь с нами по нашему списку рассылки для разработчиков или спросите у любого ASF. коммиттер.
Не можете заставить ваш плагин работать? Есть вопросы по коду ATS? Или, может быть, у вас есть предложения по улучшения или новые функции? Получить помощь от разработчиков или начните обсуждение в нашем списке обсуждений разработчиков.
Сообщить или подтвердить ошибок или попробуйте последние исправления из нашего Bug Трекер
Научитесь спрашивать хороший вопрос, создавайте полезные отчеты об ошибках и как применять патчи.
Подпишитесь и помогите в списке рассылки пользователей или просто поделитесь своим опытом использования. Чтобы получить более быстрые ответы, загляните на наш канал Slack. # трафик-сервер на Рабочая область ASF Slack.
Произведите впечатление на разработчиков или помогите другим, приняв участие на наш список обсуждения разработчиков или следите за последние разработки на наш список коммитов.
Сообщить о проблемах или внести исправления в наш баг-трекер
Посетите нашу вики, чтобы увидеть список Проекты мы сейчас работаем.
Узнайте, как создавать патчи для код или документации и как отлаживать Apache Traffic Server.
Мы пометили проблемы github с низким входным барьером.
- Руководство администратора
Установка, настройка и администрирование Apache Traffic Server
- Руководство разработчика
Разработка подключаемых модулей Apache Traffic Server и принцип работы кода
- Часто задаваемые вопросы
Вопросы
Текущий список ваших самых частых вопросов
- Вики
и наш блог
Сотрудничество и интересные темы вокруг проекта
Проект Apache Portable Runtime
Добро пожаловать! — Проект переносимой среды выполнения ApacheПримите участие Скачать! Годовые документы Документы APR-util Документы APR-iconv Рекомендации Разное |
|