Что такое 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-х уровней текстовых файлов.

  1. httpd.conf — основной конфигурационный файл. В нём содержатся директивы, которые управляют работой веб-сервера. Местоположение файла зависит от операционной системы. Узнать, где он находится, можно с помощью команды:
httpd -V
  1. . htaccess — дополнительный конфигурационный файл. Файл (или файлы) .htaccess задают правила работы веб-сервера в каталоге, в котором он размещен, и в его дочерних каталогах, то есть он не затрагивает глобальные изменения работы сервиса. Настройки .htaccess приоритетны перед настройками в httpd.conf. При каждом обращении к веб-серверу Apache просматривает все каталоги на наличие .htaccess.

  2. Виртуальный хост. Он используется для запуска нескольких доменов на одном 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.

2.

  • Можно ли использовать Cron и как это сделать?
  • Есть ли у вас поддержка ASP-скриптов?
  • Есть ли у вас PostgreSQL?
  • Предоставляете ли вы выделенный IP для аккаунта?
  • Каков абсолютный путь до корневой папки моего аккаунта на сервере?
  • Есть ли доступ к 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

Примите участие

  • Подрывная деятельность
  • Списки рассылки
  • Сборка на Win32
  • Сборка на Unix
  • Скачать!

  • из зеркала
  • Годовые документы

  • Версия 1. 7
  • Trunk APR 2.0 (предварительная версия)
  • Документы APR-util

  • Версия 1.6
  • Trunk APR 2.0 (предварительная версия)
  • Документы APR-iconv

  • Версия 1.2
  • Ствол (предварительная версия)
  • Рекомендации

  • Руководство по проекту
  • Содействие
  • Номера версий
  • Разное

  • Лицензия
  • Отчеты о безопасности
  • проектов с использованием APR
  • Спасибо!
  • Спонсорство
  • Фонд
  • События
  • Добро пожаловать

    Задача проекта Apache Portable Runtime (APR) — создать и поддерживать программные библиотеки, обеспечивающие предсказуемый и согласованный интерфейс к базовым реализациям для конкретных платформ. Основная цель состоит в том, чтобы предоставить API, для которого разработчики программного обеспечения могут кодировать и быть уверенными в предсказуемое, если не идентичное поведение, независимо от платформы, на которой их программное обеспечение построено, избавляя их от необходимости кодировать особый случай условия, чтобы обойти или воспользоваться недостатками платформы или особенности.

    Рекомендуемые выпуски

    Рекомендуемые выпуски нескольких Apache Portable Runtime библиотеки

    • Апрель 1.7.2, выпущенный 1 февраля 2023 г.
    • APR-util 1.6.3, выпущенный 1 февраля 2023 г.
    • APR-iconv 1.2.2, выпущенный 22 октября 2017 г.
    Выпуск Apache Portable Runtime 1. 7.2

    Apache Software Foundation и переносимая среда выполнения Apache Project с гордостью сообщает об общедоступной версии 1.7.2 библиотеки Apache Portable Runtime. Апрель 1.7 приносит ряд улучшений и исправлений, задокументированных в ИЗМЕНЕНИЯХ. Пользователям более ранних версий рекомендуется обновиться до этого выпуска.

    Дополнительные сведения об этом выпуске см. официальное сообщение, а также ИЗМЕНЕНИЯ-АПРЕЛЬ-1.7 файл.

    Скачать

    Руководство программиста: годовых

    Выпущена утилита Apache Portable Runtime Utility 1.6.3

    Apache Software Foundation и переносимая среда выполнения Apache Project с гордостью сообщает об общедоступности версия 1.6.3 библиотеки APR Apache Portable Runtime Utility. Пользователям более ранних версий рекомендуется обновиться до этого выпуска.

    Основные изменения в этом релизе касаются сторонних зависимости, включая разделение expat и построение с актуальные версии библиотек, таких как OpenSSL и MySQL.

    Дополнительные сведения об этом выпуске см. официальное сообщение, а также Файл CHANGES-APR-UTIL-1.6.

    Скачать

    Руководство программиста: APR-утилита

    проектов с использованием APR

    После нескольких лет разработки APR начинает использоваться за пределами HTTP-сервер Apache. Чтобы побудить больше людей исследовать APR для своих проекты, вот список как Open Исходные и коммерческие проекты, которые в настоящее время используют APR. Если вы используете APR и хотите, чтобы ваш проект признано, пожалуйста, отправьте электронное письмо на список рассылки разработчиков.

    годовых подпроектов

    Ниже приведен список проектов разработки, поддерживаемых APR. Проект. Вся разработка происходит в указанных списках рассылки. Видеть списки рассылки, чтобы узнать, как принять участие в эти обсуждения. Или поищите в архивах.

    апр — портативная библиотека времени выполнения

    • Источник:
    • апр.
    • Список рассылки: [email protected]
    • Выпуски
    • : выпуски за апрель
    • Документация по API: apr docs (текущая стабильная ветвь), Использование пулов APR
    • Учебное пособие: Введение в APR охватывает структуру и основные понятия. См. пример кода.
    • Тестовое покрытие: тестовое покрытие в апреле

    apr-util — дополнительная библиотека для APR