Apache сервер что это
Что такое Apache и как он работает
Простой, но очень полезный веб-сервер
Мы знаем, что если набрать адрес сайта в браузере, то при определённых условиях на экране появится этот сайт. Чтобы он появился, на каком-то удалённом компьютере должна поработать программа, которая отвечает за выдачу этого сайта. Одна из самых распространённых программ, которая совершает эту работу, — Apache, он же «Апач». Вот сегодня о нём.
Что вообще такое сервер
Сервером могут называть две вещи:
Программы-сервера ещё иногда разделяют на веб-сервера, ftp-сервера, почтовые сервера и т. д. То есть если программа обрабатывает запросы на сайты — это веб-сервер. Если программа отвечает за обмен файлами по протоколу ftp — это ftp-сервер. Все эти программы могут работать на одном физическом или виртуальном компьютере, просто отвечать за свой тип запросов.
Смысл веб-сервера
Apache — это как раз веб-сервер, то есть он обрабатывает запросы и отдаёт в ответ на них сайты. Он работает примерно так:
Откуда появился Апач
Первая версия этого веб-сервера появилась в 1995 году, когда браузеры стали набирать популярность. Цепочка была такая:
В интернет начали приходить простые пользователи, а не только айтишники → они стали искать и читать то, что им интересно → чтобы им это отдать, серверы напрягались, потому что раньше такой нагрузки не было → старый софт перестал справляться, и появился Апач.
Всё дело в том, что в старом софте и протоколах, которые использовались, был один слабый момент: когда нагрузка становилась большой, система не справлялась, начинала глючить и выдавать не то, не тем и не в нужное время. А название Apachе родилось как созвучное фразе «a patchy server» — сервер, который накладывает заплатки и патчи на существующие технологии.
С тех пор технологии поменялись, а название осталось.
Принцип работы Апача
Апач работает на трёх уровнях: на уровне всего сервера, виртуального хоста и каталога. Настройки каждого уровня задаются в своих файлах.
Уровень всего сервера — это по каким правилам Апач обрабатывает вообще все запросы, которые к нему приходят. Например, можно сказать ему так: на любой запрос показывай ошибку «Доступ запрещён».
👉 За этот уровень отвечает файл httpd.conf.
Уровень виртуального хоста означает, что на компьютере может жить одновременно несколько сайтов, за которые отвечает один веб-сервер. Все запросы распределяются по своим хостам (виртуальным сайтам).
Правила на этом уровне отвечают за то, как конкретный хост будет отвечать на запросы — откуда брать данные, как их обрабатывать и что с ними делать дальше.
👉 За этот уровень отвечает файл extra/httpd-vhosts.conf.
Уровень каталога регулирует, в какие каталоги у пользователя есть доступ, а в какие его пускать нельзя. Если этого не сделать, то, например, кто угодно сможет зайти в каталог с базой данных онлайн-магазина и скачать себе список всех товаров, покупателей и узнать уровень дохода и выручки.
Чтобы настроить Апач, нужно поменять соответствующие настройки в этих файлах. Веб-сервер в них смотрит при каждом запросе, поэтому все новые правила применяются сразу же, как вы их пропишете. Это как если шеф-повар скажет официантам: «Стейки на стопе» — это значит, что мясо на стейки закончилось, больше заказов на стейки не принимайте. Перезагружать для этого сервер не нужно.
Модули
Сам по себе Апач умеет не очень много, но если к нему подключить нужные модули, то всё сразу меняется. Есть отдельные модули:
Опытные сисадмины собирают персональную конфигурацию Апача под свои задачи, чтобы получить нужную комбинацию возможностей. Нет смысла подключать все модули, потому что их очень много, а для работы каждого нужны память и ресурсы процессора.
Сделать свой модуль может кто угодно — у Апача открытый исходный код, поэтому можно разобраться, как он устроен и как подключить свой модуль.
В чём хорош Апач
Масштабируемость. Если нагрузка на сервер становится больше, можно запустить второй апач на другом сервере, настроить его на работу с тем же сайтом и распределить нагрузку.
Поддержка и справочная информация. Апачу уже больше 25 лет — за это время накопилось огромное количество документации, примеров использования, комплектов модулей и готовых сценариев. Если у вас есть проблема или вопрос по Апачу, то её до этого уже точно кто-то решил и выложил ответ в сеть.
Поддержка других языков программирования. Нужна поддержка PHP? Есть такое. Python? Легко. Perl? Тоже без проблем. Даже если вам понадобится запускать на сервере что-то на C++ или Java, то Апач тоже сможет с этим помочь.
А ещё у Апача есть версии вообще почти под все операционные системы. Поэтому можно поставить его на свой домашний компьютер и получить поддержку Вордпресса, PHP и остальных систем, для которых раньше нужно было всё заливать на удалённый сервер.
Минусы и недостатки
Когда посетителей на сервере много, Апач работает медленно. А всё потому, что в 1995 году высокой нагрузкой считалось, условно, 1000 посетителей в минуту, а сейчас — миллион. И когда обращений к сайту становится слишком много (а Апач обрабатывает каждое соединение по очереди) — сервер не справляется и тормозит.
Второй недостаток — уязвимость подключаемых модулей. Сам Апач проверен на надёжность и безопасность много раз, а вот в модулях могут быть проблемы. Если подключить модуль, в котором есть дыры в безопасности, то через них можно получить доступ и к серверу, и к файлам, которые на нём хранятся.
Как попробовать
Вы можете запустить собственный веб-сервер прямо на своём компьютере за пять минут. Самый простой способ — скачать MAMP: это пакет для веб-разработчика, в который встроен менеджер баз данных, веб-сервер, движок PHP и другие полезные для веба штуки. Работает так:
Далее можно, например, скачать дистрибутив Вордпресса, распаковать его в папку, где работает ваш сервер, и попробовать эту штуку установить. Придётся создавать БД через phpMyAdmin, но об этом в другой раз.
Обратите внимание: MAMP — это локальный сервер. Из внешнего интернета его не видно. Если хотите настроить видимый из внешнего интернета сайт, это несколько сложнее.
Что Такое Apache? Подробный Обзор Веб-Сервера Apache
Что такое Apache? Э то программное обеспечение с открытым исходным кодом, веб-сервер, который обеспечивает работу около 33% сайтов по всему миру. Официальное название – Apache HTTP сервер, поддерживается и развивается компанией Apache Software Foundation.
Веб-сервер позволяет владельцам сайтов обслуживать их контент в интернете, о чём понятно с самого название «веб-сервер». Apache один из самых старых и надёжных серверов с первой версией выпуска более 20 лет назад в 1995 году.
Когда кто-либо хочет посетить сайт, он вводит доменное имя в адресную строку своего браузера. Затем веб-сервер доставляет запрашиваемые файлы как виртуальный посыльный.
В Hostinger в нашей инфраструктуре веб-хостинга используется Litespeed (англ.), другой популярный веб-сервер. Это альтернативное решение позволяет обрабатывать информацию даже быстрее, чем Apache или NGINX.
Что такое веб-сервер?
Обработка файлов, обработка баз данных, почты и веб-сервер использует различные виды серверного программного обеспечения. Каждое из этих приложений может иметь доступ к файлам, хранящимся на реальном сервере и использовать их в различных целях.
Работа веб-сервера – обслуживать сайт в интернете. Для этого он выполняет роль посредника между компьютером сервера и компьютером клиента. Он берёт контент с сервера на каждый запрос пользователя и доставляет его в сеть.
Самой большой задачей веб-сервера является одновременное обслуживание различных запросов от многих пользователей. Веб-сервер обрабатывает файлы написанные на разных языках программирования, таких как PHP, Python, Java и другие.
Он превращает их в статический файл HTML и отдаёт их на обслуживание в браузер пользователя. Когда вы слышите словосочетание веб-сервер, думайте о нём, как об инструменте для коммуникации между сервером и клиентом.
Как работает веб-сервер Apache?
Хоть Apache и называется веб-сервер, но в реальном положении вещей он является не сервером, а программой, которая запускается на сервере. Его задача установить соединение между сервером и браузером посетителей (Firefox, Google Chrome, Safari и др.) при доставке файлов туда и обратно между ними (клиент-серверная структура). Apache – это кроссплатформенное программное обеспечение, что значит оно хорошо работает как на Unix, так и на Windows серверах.
Когда посетитель хочет загрузить страницу вашего сайта, например, домашнюю страницу или страницу «О нас», его браузер отправляет запрос на ваш сервер и Apache возвращает ответ со всеми запрошенными файлами (текст, изображение и так далее). Сервер и клиент взаимодействуют по протоколу HTTP и Apache ответственен за гладкое и безопасное соединение между двумя машинами.
Знаете ли вы, что в Hostinger есть специальные предложения? Посетите нашу страницу купонов и сэкономьте до 75%! Не стоит забывать, что это предложение ограничено во времени!
Apache и другие веб-сервера
Кроме Apache существует ещё довольно много веб-серверов. Каждое приложение веб-сервера создавалось для различных целей. Не смотря на то, что Apache является самый широко используемым, для него есть несколько альтернатив и конкурентов.
Apache или NGINX
Nginx произносится как Engine-X, это более новое веб-серверное программное обеспечение с первым релизом в 2004 году. Как на сегодня он добился большой популярности среди владельцев сайтов. Nginx был создан для решения так называемой проблемы c10k – проблемы 10 тысяч соединений, что означает, что веб-сервера, использующие потоки не могут обрабатывать запросы пользователей более, чем с 10 000 подключений одновременно.
Apache или Tomcat
Tomcat – это веб-сервер также разработанных Apache Software Foundation, поэтому его официальное название Apache Tomcat. Это тоже HTTP-сервер, однако он обрабатывает приложения Java вместо статических сайтов. Tomcat может запускать несколько Java спецификаций, таких как: Java Servlet, Java Server Pages (JSP), Java EL и WebSocket.
Apache: преимущества и недостатки
Веб-сервер Apache может быть прекрасным выбором для запуска вашего сайта на стабильной и универсальной платформе. Но у него есть и свои недостатки, на которые стоит обратить внимание.
Преимущества:
Недостатки:
Что ещё почитать?
Хотите узнать больше об основах хостинга сайтов и разработке? Познакомьтесь с нашими руководствами:
Итак, что такое Apache?
Apache один из наиболее популярных веб-серверов, который позволяет вам запускать безопасно сайт без излишней головной боли. Это наиболее частый выбор для сайтов небольших проектов и малого бизнеса.
Вы можете установить сайт WordPress на веб-сервере Apache без каких-либо настроек. Кроме того, Apache прекрасно работает со многими другими системами управления контентом (Joomla, Drupal и др.), фреймворками (Django, Laravel и др.) и языками программирования. Это делает его уверенным решением для всех типов хостинг-платформ, таких как VPS или общий хостинг.
Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.
Что такое веб-сервер Apache и как им пользоваться
Apache – один из самых популярных в мире веб-серверов. Начинающие вебмастера не всегда понимают, что представляет собой Apache и как происходит взаимодействие с таким программным обеспечением.
Далее я постараюсь максимально подробно рассказать о нем, приводя объяснения общим терминам.
Понятие «веб-сервер»
Перед тем как переходить непосредственно к разбору Apache, кратко затрону понятие веб-сервера, ведь рассматриваемое программное обеспечение таковым и является.
Веб-сервер – средство для обслуживания сайта в интернете. Он обрабатывает файлы, базы данных и всю информацию, хранящуюся на ресурсе. Веб-сервер занимается тем, что доставляет данные с серверного компьютера на устройство конечного пользователя в режиме реального времени, имея доступ ко всем файлам. Несколько запросов может обрабатываться одновременно, при этом не возникает проблем с файлами, написанными на совершенно разных языках программирования. При обработке все они превращаются в HTML-код и отправляются на обработку в браузер.
Теперь вы можете воспринимать веб-сервер как своеобразного посредника между сервером, где хранятся все данные, и пользователем. Из этого становится понятно, для чего нужен веб-сервер Apache, но пока не очень ясно, чем он отличается от других решений и какие имеет преимущества.
Работа веб-сервера Apache
Веб-сервер Apache – это программное обеспечение, которое установлено на сам сервер. Как мы уже поняли, благодаря ему устанавливается соединение между юзером, использующим браузер, и сервером, чтобы осуществить передачу данных при запросе. Пользователь переходит на страницу, далее отправляется сигнал на обработку, Apache находит необходимые данные и возвращает их пользователю, чтобы тот смог ознакомиться с ними. Работает это и в обратном направлении, примерно по такому же принципу.
Самая простая строка кода, вводимая в этот файл выглядит так:
Ее основное предназначение – указать Apache кодировку, в которой нужно возвращать текст пользователю. Такое изменение делается в тех случаях, когда стандартный вывод вас не устраивает.
Благодаря .htaccess вы можете закрывать директории паролями, переопределять индексы файлов, запрещать доступ к ним и выполнять множество других настроек. Лучше всего использовать открытые источники и официальную документацию, если возникла надобность редактировать файл под себя.
Если вы нуждаетесь в получении дополнительной информации о виртуальном хостинге с этим веб-сервером, ознакомьтесь с документацией Virtual Apache Host на официальном сайте разработчика ПО.
Сравнение Apache с другими веб-серверами
Есть и другие веб-серверы, обладающие своими преимуществами и недостатками. Обо всех них в рамках этой статьи говорить не будем, рассмотрим лишь пару достойных конкурентов.
Начнем с самого известного решения – Nginx. Здесь сказать можно только одно – его главным преимуществом является преодоление барьера в 10 000 одновременных соединений. Apache не может обработать такой большой поток трафика сразу, поэтому многие вебмастера и переключились на альтернативу, когда масштабы их проекта значительно увеличились. Связано это с поточной структурой Apache и невозможностью реализовать прохождение такого барьера. Однако в некотором плане Апач превосходит Nginx, если говорить о простоте настройки, подключении модулей и юзерфрендли-подходе от разработчиков.
Примечание. Хостинг Timeweb на своих серверах использует связку Nginx+Apache: Nginx отдает статический контент, а Apache подключается позже и отвечает за обработку динамического контента.
Второй конкурент – Tomcat, его разработала та же компания, что и Apache, но уже для других целей. Он используется для работы приложений, написанных на Java, а Apache-сервер – это HTTP-направленный инструмент. Если вы не используете Java, а управляете статическими веб-страницами, переключаться на Tomcat точно не стоит.
Установка Apache на компьютер
Если вы хотите самостоятельно попробовать Apache, организовав полноценно работающий сайт с веб-сервером, базой данных и другими компонентами, воспользуйтесь информацией, предоставленной на официальном сайте. Там вы найдете все необходимые файлы для Windows, архивы и команды инсталляции для Linux, а также объяснения всех тонкостей, связанных с настройкой данного компонента.
Кстати, на « Комьюнити » есть отдельная инструкция, посвященная тому, как использовать Apache в качестве обратного прокси на Ubuntu. Это полезный материал для всех тех, кто хочет узнать больше о расширенных возможностях этого веб-сервера.
Преимущества и недостатки Apache
В завершение обзорной статьи про Apache хотелось бы рассказать о преимуществах и недостатках этого веб-сервера, чтобы у каждого пользователя сложилась полная картина.
Плюсы
Начну с положительных моментов, поскольку многие из них становятся решающими при выборе первого веб-сервера для своего проекта. Перечислю только самые влиятельные факторы.
Минусы
К сожалению, не обошлось и без минусов, поскольку невозможно создать идеальное программное обеспечение для любых целей.
Apache – несомненно, один из лучших веб-серверов, в чем вы смогли сами убедиться, дочитав мой обзор.
Что такое Apache
Интернет невозможно представить без всевозможных сайтов. Все они работают за счёт веб-серверов – программ, отвечающих за передачу данных от физических хранилищ до браузеров пользователей.
Веб-сервер работает в качестве «посредника» между пользователем и физическим сервером. При получении запроса от посетителя он ищет необходимую страницу в каталоге с сайтом и отправляет её в ответ. Браузер принимает полученный файл, обрабатывает его и отображает на экране посетителя.
Передача информации веб-сервера выполняется по протоколу HTTP (HyperText Transfer Protocol), изначально созданного для работы с HTML-страницами. Уже позже стало возможным отправлять через HTTP файлы любых типов. В последнее время преобладают сайты, работающие через HTTPS. Это улучшенная версия HTTP, которая отличается от предшественника тем, что поддерживает шифрование трафика TLS/SSL между пользователем и сервером.
Звание самого популярного веб-сервера в мире уже более 25 лет удерживает за собой Apache HTTP Server, который принято называть сокращенно Apache или «Апач». Сегодня программа обслуживает более 40% всех существующих серверов, включая проекты IBM, eBay, PayPal и Facebook.
Рассмотрим причины популярности Apache подробнее. Это не только пополнит копилку знаний об интернет-технологиях, но и поможет сделать правильный выбор веб-сервера для размещения сайта в будущем.
Что это такое
Apache – это свободное программное обеспечение для размещения веб-сервера. Он хорошо показывает себя в работе с масштабными проектами, поэтому заслуженно считается одним из самых популярных веб-серверов. Кроме того, Apache очень гибок в плане настройки, что даёт возможность реализовать все особенности размещаемого веб-ресурса.
История создания
Apache HTTP Server был выпущен в 1995 году разработчиком Робертом Маккулом из Университета штата Иллинойс (UIUC). Продукт возник как доработанная версия другого HTTP-клиента – NCSA HTTPd 1.3, созданного Робертом ранее.
Основой для модификации стали многочисленные «патчи» или программные «заплатки» для NCSA. Именно отсюда (а не от индейского племени апачей) изначально и происходит название Apache. Оно расшифровывается как «a patchy server» или «сервер с патчами».
Разработкой и поддержкой продукта с 1999 года занимается организация Apache Software Foundation (ASF) – сообщество экспертов-энтузиастов со всего мира. Этим же некоммерческим фондом была создана официальная лицензия ПО – Apache License.
В 2000 году ASF представило новую версию Apache 2.0 с полностью переработанной архитектурой, свободной от кода NCSA. С этого момента веб-сервер развивается по двум основным веткам – 1.х и 2.х.
Как устроен Apache
Архитектура
Apache состоит из ядра и динамической модульной системы. Параметры системы изменяются с помощью конфигурационных файлов.
Ядро Apache разработано Apache Software Foundation на языке C. Основные функции — обработка конфигурационных файлов, протокол HTTP/HTTPS и загрузка модулей. Ядро может работать без модулей, но будет иметь ограниченный функционал.
Модульная система
Модуль – отдельный файл, подключение которого расширяет изначальный функционал ядра. Они могут включаться в состав ПО при первоначальной установке или подгружаться позже через изменение конфигурационного файла.
Большинство из них отвечает за определенный аспект обработки клиентского запроса – поддержку различных языков программирования, безопасность, кэширование, аутентификацию и т.д. Таким образом, большая задача разбивается на несколько фаз, каждую из которых решает отдельный, узкоспециализированный модуль.
Для Apache существует больше 500 модулей. Многие популярные веб-приложения сразу выпускаются в виде модуля к Apache. Например, ISPmanager и VDSmanager.
Конфигурация
Система конфигурации Apache работает на текстовых файлах с прописанными настройками. Она подразделяется на три условных уровня, для каждого из которых имеется свой конфигурационный файл:
Обычно конфигурационные файлы Apache находятся в папке «conf», а дополнительные конфигурационные файлы во вложенной в нее папке «extra». Внести изменения можно как через редактирование самого файла, так и через командную строку.
Виртуальные хосты
Веб-хост – это компонент сервера, отвечающий за обслуживание одного размещенного на нем объекта (сайта, виртуального сервера). Система виртуальных хостов Apache позволяет одновременно запускать несколько проектов с одного IP-адреса.
В Apache можно установить настройки модуля и ядра, а также вводить лимиты на потребление серверных ресурсов (трафик, RAM, CPU) для каждого виртуального хоста в отдельности. Это технологическая основа всего механизма веб-хостинга.
Достоинства и недостатки Apache
Плюсы
Минусы
Альтернативы Apache
NGINX
Nginx (Engine-X, «энжинкс») — второе по популярности веб-серверное приложение и главный конкурент Apache. Было выпущено в 2004 году под открытой лицензией BSD. Изначально приложение создавалось для решения проблемы масштабирования, известной как «10 тысяч соединений» (С10к). Это значит, что до Nginx веб-сервер не был способен одновременно обрабатывать пользовательские запросы более чем с 10 000 подключений.
У этого веб-сервера асинхронная событийно-ориентированная архитектура (event-driven), которая позволяет добиваться быстрого масштабирования даже при минимальных ресурсах. Вместо того, чтобы создавать новый процесс для каждого пользовательского запроса, Nginx обрабатывает множество соединений в едином потоке.
Nginx отлично подходит для веб-проектов с высокой посещаемостью. Однако веб-сервер не может самостоятельно работать с динамическим контентом. Поэтому его чаще используют для статических веб-сайтов или например, в связке с PHP-FPM или Apache HTTP Server как прокси-сервер.
Lighttpd
Веб-сервер Lighttpd (произносится «лайти») — кроссплатформенное программное обеспечение на языке С. Выпущено в 2003 году под лицензией BSD. «Лайти» работает на операционных системах Windows и семейства Unix/Linux. Приложение поддерживает технологии FastCGI, SCGI, HTTP proxy, Auth, перезаписи URL и AJP (с версии 1.5).
Как и Nginx, изначально «Лайти» создавалось для решения проблемы «С10к». Неудивительно, что его специализация — веб-проекты с большой посещаемостью. В числе компаний, использующих Lighttpd, такие гиганты, как Google, Википедия, Яндекс и Ubuntu.
Microsoft IIS
Internet Information Services (IIS) — набор сервисов для создания веб-сервера от компании Microsoft. Распространяется в комплекте с операционными системами Windows NT как дополнительно устанавливаемый компонент. Веб-сервер поддерживает технологии CGI, FastCGI, ISAPI и SSI.
Главная сила IIS – в глубокой интеграции и поддержке продуктов Microsoft. Его часто выбирают те, чьи ресурсы работают на движке ASP.NET и используют скриптовый язык ASPX. Главный недостаток – жесткая привязка к операционной системе Windows и отсутствие версий для Unix/Linux.
Tomcat
Apache Tomcat — это контейнер сервлетов, который обрабатывает спецификации Java. Например, Java Servlet, Java Server Pages (JSP), Java EL и WebSocket. Продукт был разработан фондом Apache Software Foundation на основе открытой лицензии Apache License 2.0. Tomcat используется как в качестве самостоятельного веб-сервера, так и в связке с Apache HTTP Server.
Приложение написано на языке Java и способно автоматически загружать Java-библиотеки. Его основная специализация — веб-проекты с динамическим содержимым. Но у Apache Tomcat хуже возможности для настройки, что сужает его сферу применения. Например, для запуска WordPress эффективнее использовать обычный HTTP-сервер Apache.
Заключение
Сервер Apache – универсальный инструмент для быстрого и безопасного запуска интернет-проектов разного масштаба. Веб-сервер совместим с большинством существующих операционных систем, программных продуктов и языков разработки.
Система конфигурационных файлов дает «Апач» гибкие возможности для настройки, а динамически подгружаемые модули расширяют функционал до максимума. Особенно эффективно использовать веб-сервер Apache в связке с ближайшим аналогом – Nginx.
Для работы с «Апач» пользователю нужен определенный уровень IT грамотности. Желательно знать основы программирования и веб-администрирования. Но процесс сильно упрощает активное сообщество поддержки и отлично развитая база официальной документации.
Раскройте все возможности и преимущества веб-сервера Apache с надёжным хостингом от Eternalhost!