Разное

Httpd что это: Основы Apache (httpd) » Linux

13.02.2021

Основы Apache (httpd) » Linux

Для администратора Linux важно знать, как обращаться с веб-сервером Apache. В этой статье вы узнаете немного теории о логике работы Apache,  а также как его установить и запустить, как создать виртуальные хосты и применить к ним контексты SELinux. 

Базовая настройка сервера Apache

Настроить базовый сервер Apache несложно. Он состоит из нескольких простых шагов:

  1. Установить необходимые пакеты.
  2. Определить основной файл конфигурации.
  3. Создать некоторый контент веб-сервера.

Установка необходимых пакетов

Сервер Apache предоставляется через несколько различных пакетов. Базовый пакет — httpd; этот пакет содержит все, что нужно для рабочего, но базового веб-сервера. Также есть несколько дополнительных пакетов. Для полного обзора пакетов вы можете использовать команду yum search http или использовать yum install httpd для установки базового пакета.

Обратите внимание, что команда yum search http выдает много пакетов. Это связано с тем, что веб-сервер Apache является модульным, а различные модули предоставляются через дополнительные пакеты yum.

Вместо использования отдельных пакетов вы также можете использовать yum groups. Команда yum groups list предоставляет обзор всех доступных групп yum, а yum group Basic Web Server предоставляет все необходимое для установки веб-сервера Apache и все необходимые зависимости. Чтобы выполнить установку Apache используйте yum groups install «Basic Web Server».

Определение основного файла конфигурации

Конфигурация веб-сервера Apache проходит через различные файлы конфигурации.  Основной файл конфигурации Apache — /etc/httpd/conf/httpd.conf. В этом файле указано много параметров. Самый важный параметр, который нужно понять для настройки базового веб-сервера, — это параметр DocumentRoot. Этот параметр указывает местоположение по умолчанию, где веб-сервер Apache ищет контент.

Другим важным параметром конфигурации является ServerRoot. Он определяет каталог по умолчанию, где Apache будет искать свои файлы конфигурации. По умолчанию для этой цели используется каталог /etc/httpd, но могут использоваться и другие каталоги.

Вы заметите, что в httpd.conf упоминаются многие другие файлы конфигурации. Использование дополнительных файлов конфигурации позволяет приложениям легко устанавливать snap-in файлы, которые будут включены сервером Apache из пакетов RPM. Все имена этих файлов конфигурации относятся к ServerRoot в /etc/httpd.

В листинге 1 показана часть содержимого файла конфигурации httpd.conf.

Листинг 1

[root@kvm ~]# cat /etc/httpd/conf/httpd.conf | grep -v '#'
ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerAdmin root@localhost
<Directory />
    AllowOverride none
    Require all denied
</Directory>
DocumentRoot "/var/www/html"
<Directory "/var/www">
    AllowOverride None
    Require all granted
</Directory>
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
<IfModule dir_module>
    DirectoryIndex index.
html </IfModule> <Files ".ht*"> Require all denied </Files> ErrorLog "logs/error_log" LogLevel warn <IfModule log_config_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common <IfModule logio_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> CustomLog "logs/access_log" combined </IfModule> <IfModule alias_module> ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" </IfModule> <Directory "/var/www/cgi-bin"> AllowOverride None Options None Require all granted </Directory> <IfModule mime_module> TypesConfig /etc/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType text/html .shtml AddOutputFilter INCLUDES .shtml </IfModule> AddDefaultCharset UTF-8 <IfModule mime_magic_module> MIMEMagicFile conf/magic </IfModule> EnableSendfile on IncludeOptional conf.
d/*.conf [root@kvm ~]#

Создание контента веб-сервера

После определения  DocumentRoot веб-сервера вы знаете все, что нужно знать для настройки базового веб-сервера. По умолчанию веб-сервер Apache ищет файл с именем index.html и представляет содержимое этого документа клиентам, использующим браузер для доступа к веб-серверу. Достаточно настроить этот файл с очень простым содержанием; подойдет только строка типа «Добро пожаловать на мой веб-сервер».

Чтобы протестировать веб-сервер, вы можете запустить браузер. Браузер Firefox установлен по умолчанию во всех графических установках RHEL / CentOS. Если ваш сервер не поддерживает графический интерфейс, используйте yum install elinks для установки текстового браузера elinks.

Этот браузер не позволяет загружать сложные веб-страницы, но он позволяет вам проверить работу веб-сервера. Ниже на скриншоте   показано, как выглядит интерфейс elinks.

В упражнении 1 вы узнаете, как настроить базовый веб-сервер.

Упражнение 1. Настройка базового веб-сервера

В этом упражнении вы узнаете, как настроить базовый веб-сервер Apache.

1. Выполните yum groups install «Basic Web Server». Это установит пакет httpd, а также некоторые из наиболее часто используемых дополнительных пакетов.

2. Откройте главный файл конфигурации Apache в редакторе и найдите строку, которая начинается с DocumentRoot. DocumentRoot определяет местоположение, где сервер Apache будет искать контент, который он будет обслуживать. Убедитесь, что он установлен в /var/www/html.

3. В каталоге /var/www/html создайте файл с именем index.html. В этом файле введите «Добро пожаловать на мой веб-сервер».

4. Чтобы запустить и включить веб-сервер, выполните

systemctl start httpd; systemctl enable httpd. Команда запускает веб-сервер и гарантирует, что он будет запускаться автоматически после перезапуска сервера. Выполните systemctl status httpd, чтобы убедиться, что веб-сервер запущен и работает. В листинге 2 вы можете увидеть, как должен выглядеть результат этой команды.

5. Выполните yum install elinks, чтобы установить текстовый браузер elinks. Введите elinks http://localhost, чтобы подключиться к веб-серверу и убедиться, что он работает.

[root@kvm ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-10-27 21:48:23 +10; 13min ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 29160 (httpd)
   Status: "Total requests: 3; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─29160 /usr/sbin/httpd -DFOREGROUND
           ├─29167 /usr/sbin/httpd -DFOREGROUND
           ├─29168 /usr/sbin/httpd -DFOREGROUND
           ├─29169 /usr/sbin/httpd -DFOREGROUND
           ├─29170 /usr/sbin/httpd -DFOREGROUND
           ├─29171 /usr/sbin/httpd -DFOREGROUND
           ├─29172 /usr/sbin/httpd -DFOREGROUND
           ├─29831 /usr/sbin/httpd -DFOREGROUND
           ├─29833 /usr/sbin/httpd -DFOREGROUND
           └─29834 /usr/sbin/httpd -DFOREGROUND
Oct 27 21:48:23 kvm systemd[1]: Starting The Apache HTTP Server.
.. Oct 27 21:48:23 kvm httpd[29160]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, usi...message Oct 27 21:48:23 kvm systemd[1]: Started The Apache HTTP Server. Hint: Some lines were ellipsized, use -l to show in full. [root@kvm ~]#

Понимание файлов конфигурации Apache

При установке веб-сервера Apache по умолчанию создается довольно сложное дерево конфигурации в каталоге /etc/httpd. В листинге 3 показано содержимое этого каталога по умолчанию. Обратите внимание, что содержимое этого каталога может отличаться на вашем сервере, если установлены дополнительный пакеты. Apache является модульным, и после установки дополнительных модулей Apache здесь могут быть установлены другие файлы конфигурации.

Листинг 3

[root@kvm ~]# ls -l /etc/httpd/
total 0
drwxr-xr-x. 2 root root  37 Oct 27 21:47 conf
drwxr-xr-x. 2 root root 135 Oct 27 21:48 conf.d
drwxr-xr-x. 2 root root 186 Oct 27 21:48 conf. modules.d
lrwxrwxrwx. 1 root root  19 Oct 27 21:47 logs -> ../../var/log/httpd
lrwxrwxrwx. 1 root root  29 Oct 27 21:47 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx. 1 root root  10 Oct 27 21:47 run -> /run/httpd
[root@kvm ~]#

Первое, что вы заметите, это наличие трех символических ссылок на журналы, модули и каталог выполнения. Они созданы, чтобы позволить Apache запускаться в среде chroot.

Среда chroot предоставляет поддельный корневой каталог. Это каталог в файловой системе, представленный в качестве корневого каталога для процесса, который выполняется в среде chroot. Это сделано по соображениям безопасности: процессы, работающие в среде chroot, могут обращаться к файлам только в этой среде chroot, что снижает риск возникновения инцидентов безопасности, когда злоумышленникам удается получить оболочку входа в систему с использованием идентификатора веб-сервера и попробовать пройти через файловюя систему для выполнения несанкционированных действий.

Основные файлы конфигурации для веб-сервера Apache находятся в каталоге /etc/httpd/conf. Для начала, есть файл httpd.conf, который содержит наиболее важные параметры конфигурации. Кроме того, есть файл с именем magic. Этот файл используется браузером для интерпретации того, каким должно быть содержимое веб-сервера. Это гарантирует, что содержимое веб-сервера отображается правильно в разных браузерах.

Каталог /etc/httpd/conf.d содержит файлы, которые включены в конфигурацию Apache. Это делается с помощью строки  Include conf.modules.d/*.conf в файле httpd.conf.

Этот каталог может использоваться RPM, которые включают snap-in файлы оснастки Apache. Как и в случае с ServerRoot, этот подход позволяет добавлять файлы конфигурации, которые определяют различные веб-страницы, без изменения содержимого файла /etc/httpd/conf/httpd.conf.

Последним каталогом конфигурации является /etc/httpd/conf.modules.d. Apache — это модульный веб-сервер. Поэтому функциональность веб-сервера Apache можно легко расширить, добавив дополнительные модули, которые обеспечивают множество различных функций.

Если используются модули, они могут использовать свои собственные файлы конфигурации, специфичные для модулей, которые будут помещены в каталог /etc/httpd/conf.modules.d. Опять же, цель этого подхода состоит в том, чтобы сохранить конфигурацию в /etc/httpd/conf.d/httpd.conf настолько чистой, насколько это возможно, и убедиться, что конкретная конфигурация модуля не перезаписывается при обновлении универсальной конфигурации Apache.

Создание виртуальных хостов Apache

Многие компании размещают более одного сайта. К счастью, нет необходимости устанавливать новый сервер Apache для каждого веб-сайта, который вы хотите запустить. Apache можно настроить для работы с виртуальными хостами. Виртуальный хост — это отдельный файл конфигурации Apache, созданный для уникального имени хоста.

При работе с виртуальными хостами процедура доступа к хосту примерно такая:

  1. Клиент начинает сеанс с конкретным виртуальным хостом, обычно запуская браузер и вводя URL-адрес веб-сайта, который клиент хочет использовать.
  2. DNS помогает определить IP-адрес виртуального хоста, который является IP-адресом сервера Apache, на котором могут размещаться разные виртуальные хосты.
  3. Процесс Apache получает запросы на все виртуальные хосты, которые он размещает.
  4. Процесс Apache считывает заголовок HTTP, чтобы проанализировать, на какой виртуальный хост необходимо отправить этот запрос.
  5. Apache читает конкретный файл конфигурации виртуального хоста, чтобы определить, какой корневой каталог документов используется этим конкретным виртуальным хостом.
  6. Запрос перенаправляется в соответствующий файл содержимого в корне этого конкретного документа.

При работе с виртуальными хостами необходимо помнить несколько вещей:
■ Если ваш сервер Apache настроен для виртуальных хостов, все серверы, на которых он размещается, должны обрабатываться виртуальными хостами. Чтобы создать все записи перехвата для всех HTTP-запросов, которые направлены на этот хост, но у которых нет определенного файла виртуального хоста, вы можете создать виртуальный хост _default_: 80.

■ Виртуальный хостинг на основе имен является наиболее распространенным решением. В этом решении виртуальные хосты используют разные имена, но один и тот же IP-адрес.

■ Виртуальные хосты на основе IP менее распространены, но необходимы, если имя веб-сервера должно быть преобразовано в уникальный IP-адрес. Виртуальные хосты на основе IP требуют нескольких IP-адресов на одном сервере и являются общими в конфигурации, где сервер Apache использует TLS для защиты соединений.

Упражнение 2. Установка виртуальных хостов Apache

В этом упражнении вы создадите два виртуальных хоста. Чтобы помочь вам настроить виртуальные хосты, вы сначала настраиваете разрешение имен, после чего вы создаете конфигурацию виртуальных хостов.

Предполагается, что у вас есть два сервера с именем server1 и server2. Если что, вы можете настроить гипервизор и создать две виртуальные машины по этой статье: KVM в CentOS 7.

1. На сервере server1 и server2 откройте файл /etc/hosts с помощью редактора и добавьте две строки, которые позволяют сопоставить имена виртуальных хостов, которые вы собираетесь создать, с IP-адресом сервера:

192. 168.122.210 server1.example.com server1
192.168.122.220 server2.example.com server2
192.168.122.210 account.example.com account
192.168.122.210 sales.example.com   sales

2. На сервере server1 добавьте следующее в файл /etc/httpd/conf/httpd.conf. (Вы можете оставить все остальные настройки как есть.)

<Directory "/www/docs">
        Require all granted
        AllowOverride None
</Directory>

3. Там же на сервере server1 создайте файл конфигурации с именем account.example.com.conf в каталоге /etc/httpd/conf.d.

Добавьте в этот файл:

<VirtualHost *:80>
        ServerAdmin [email protected]
        DocumentRoot /www/docs/account.example.com
        ServerName account.example.com
        ErrorLog logs/account/example.com-error_log
        CustomLog logs/account.example.com-access_log common
</VirtualHost>

4. Закройте файл конфигурации и выполните:

mkdir -p /www/docs/account. example.com; mkdir -p /etc/httpd/logs/account/example.com-error_log; chown apache.apache -R /etc/httpd/logs/account/example.com-error_log

 
5. В каталоге account.example.com, который вы указали выше в строке DocumentRoot, создайте файл с именем index.html и убедитесь, что в нём написано «Добро пожаловать в account».

6. Временно выключите SELinux командой setenforce 0.

7. Выполните systemctl restart httpd для перезапуска веб-сервера Apache.

8. Выполните elinks http://account.example.com. Теперь вы должны увидеть страницу приветствия account. (Возможно, вам придется установить elinks, используя yum install -y elinks.)

9. Вернувшись в терминал, скопируйте файл /etc/httpd/conf.d/account.example.com.conf в файл с именем /etc/httpd/conf.d/sales.example.com.conf.

10. Откройте файл sales.example.com.conf в vi и выполните команду :%s/account/sales/g. Этой командой вы сделаете замену текста account на sales, который встречается во всём файле.

11. Создайте каталог /www/docs/sales.example.com и создайте в нем файл index.html, содержащий текст «Добро пожаловать на сервер sales».

12. Перезапустите httpd и убедитесь, что account и sales доступны.

Apache HTTP Server — httpd-Сервер гипертекстового протокола передачи данных Apache httpd — это серверная программа Apache HyperText Transfer Protocol.



httpd — это серверная программа Apache HyperText Transfer Protocol (HTTP). Он предназначен для запуска в качестве автономного процесса демона. При таком использовании он создаст пул дочерних процессов или потоков для обработки запросов.

Как правило, httpd не следует вызывать напрямую, а следует вызывать через apachectl в системах на базе Unix или как службу в Windows NT, 2000 и XP и как консольное приложение в Windows 9x и ME .

Synopsis

httpd [ -d serverroot ] [ -f config ] [ -C directive ] [ -c directive ] [ -D parameter ] [ -e level ] [ -E file ] [ -k start|restart|graceful|stop|graceful-stop ] [ -h ] [ -l ] [ -L ] [ -S ] [ -t ] [ -v ] [ -V ] [ -X ] [ -M ] [ -T ]

В системах Windows доступны следующие дополнительные аргументы:

httpd [ -k install|config|uninstall ] [ -n name ] [ -w ]

Options

-d serverroot
Установите для директивы ServerRoot начальное значение serverroot . Это можно переопределить директивой ServerRoot в файле конфигурации. По умолчанию это /usr/local/apache2 .
-f config
Использует директивы в файле config при запуске. Если config не начинается с /, то он считается путем относительно ServerRoot . По умолчанию это conf/httpd.conf .
-k start|restart|graceful|stop|graceful-stop
Сигналы httpd для запуска, перезапуска или остановки. См. Остановка Apache httpd для получения дополнительной информации.
-C directive
Обработайте directive конфигурации перед чтением файлов конфигурации.
-c directive
Обработайте directive конфигурации после чтения файлов конфигурации.
-D parameter
parameter конфигурации , который можно использовать с разделами <IfDefine> в файлах конфигурации для условного пропуска или обработки команд при запуске и перезапуске сервера. Также может использоваться для установки некоторых менее распространенных параметров запуска, включая -DNO_DETACH (предотвратить разветвление родителя) и -DFOREGROUND (запретить родительскому вызову setsid() и др.).
-e level
Устанавливает уровень LogLevel во время запуска сервера level Это полезно для временного увеличения детализации сообщений об ошибках для поиска проблем во время запуска.
-E file
Отправлять сообщения об ошибках во время запуска сервера в file .
-h
Выведите краткое описание доступных опций командной строки.
-l
Выведите список модулей, скомпилированных в сервер. В нем не будут перечислены динамически загруженные модули, включенные с использованием директивы LoadModule .
-L
Выведите список директив,предоставляемых статическими модулями,вместе с ожидаемыми аргументами и местами,где директива действительна. Директивы,предоставляемые модулями shared,в списке не указываются.
-M
Дампинг списка загруженных статических и общих модулей.
-S
Отобразить настройки как разобранные из конфигурационного файла (в настоящее время отображаются только настройки виртуального хоста).
-T (доступно в 2.3.8 и более поздних версиях)
Пропустите проверку корня документа при запуске/перезапуске.
-t
Запускайте синтаксические тесты только для файлов конфигурации. Программа немедленно завершает работу после этих тестов синтаксического анализа с кодом возврата 0 (синтаксис ОК) или кодом возврата, не равным 0 (ошибка синтаксиса). Если -Д DUMP _ VHOSTS также установлены, будут напечатаны сведения о конфигурации виртуального хоста. Если -D DUMP _ MODULES установлен, все загруженные модули будут напечатаны.
-v
Распечатайте версию httpd и выйдите.
-V
Напечатайте версию и параметры сборки httpd , а затем выйдите.
-X
Запустите httpd в режиме отладки.Запустится только один работник и сервер не отсоединится от консоли.

Следующие аргументы доступны только на платформе Windows :

-k install|config|uninstall
Установите httpd Apache как службу Windows NT;измените опции запуска службы httpd Apache;и удалите службу httpd Apache.
-n name
name службы HTTPd Apache сигнализировать.
-w
Держите консольное окно открытым при возникновении ошибки,чтобы можно было прочитать сообщение об ошибке.


Apache HTTP Server 2.4
  • htdigest-управление файлами пользователей для дайджестовой аутентификации

  • htpasswd-Управление файлами пользователей для базовой аутентификации

  • httxt2dbm — Generate dbm files for use with RewriteMap

  • Server and Supporting Programs

  • 1
  • 247
  • 248
  • 249
  • 250
  • 251
  • 291
  • Next

httpd — сервер протокола передачи гипертекста Apache

httpd — сервер протокола передачи гипертекста Apache — HTTP-сервер Apache версии 2. 4

HTTP-сервер Apache версии 2.4

Apache > HTTP-сервер > Документация > Версия 2.4 > Программы

Доступные языки:  en  | фр  | ко | tr

httpd — это протокол передачи гипертекста Apache. (HTTP) серверная программа. Он предназначен для запуска как автономный процесс демона. При таком использовании он создаст пул дочерние процессы или потоки для обработки запросов.

В общем, httpd не следует вызывать напрямую, а скорее следует вызывать через apachectl в системах на базе Unix или как службу в Windows NT, 2000 и XP и как консольное приложение для Windows 9x и ME.

  • Сводка
  • Опции

См. также

  • Запуск Apache httpd
  • Остановка Apache httpd
  • Файлы конфигурации
  • Документация для конкретной платформы
  • apachectl
  • Комментарии

httpd [ - d корневой сервер ] [- f конфигурация ] [ - C директива ] [ - c директива ] [ - D параметр ] [ - e уровень ] [ - E файл ] [ -k запуск|перезагрузка|изящный|стоп|изящный-стоп] [- ч ] [- л ] [- л ] [- л ] [- т ] [- в ] [- в ] [- X ] [- M ] [- T ]

В системах Windows доступны следующие дополнительные аргументы:

httpd [ - k установить|настроить|удалить ] [- n имя ] [ - с ]

-d корень сервера
Задайте для директивы ServerRoot начальное значение корень сервера . Это может быть переопределено с помощью ServerRoot. директива в файле конфигурации. По умолчанию /usr/local/apache2 .
-f конфигурация
Использует директивы в файле config при запуске. Если config не начинается с /, тогда он принимается за путь относительно Корень Сервера . По умолчанию conf/httpd.conf .
-k пуск|перезагрузка|изящный|стоп|изящный-стоп
Сигналы httpd для запуска, перезапуска или остановки. Дополнительные сведения см. в разделе Остановка Apache httpd.
-C директива
Обработайте директиву конфигурации перед чтением файлы конфигурации.
-c директива
Обработка конфигурации директива после чтения конфига файлы.
-D параметр
Задает параметр конфигурации , который можно использовать с секций в конфигурационных файлах для условного пропуска или обработки команд при запуске сервера и перезапуске. Также может использоваться для установки определенных менее распространенные параметры запуска, включая -DNO_DETACH (предотвратить разветвление родителя) и -DFOREGROUND (запретить родителю звонить setsid() и др.).
-e уровень
Устанавливает для LogLevel значение уровень при запуске сервера. Это полезно для временно увеличивая детализацию сообщений об ошибках, чтобы найти проблемы во время запуска.
-E файл
Отправлять сообщения об ошибках при запуске сервера в файл .
Вывести краткий обзор доступных параметров командной строки.
Вывести список модулей, скомпилированных на сервере. Это будет , а не список динамически загружаемых модулей, включенных с помощью директива LoadModule .
Вывести список директив, предоставленных статическими модулями, вместе с ожидаемыми аргументами и места, где директива действительна. Директивы, предоставляемые общими модулями, не перечислены.
Создать дамп списка загруженных статических и общих модулей.
Показать параметры, извлеченные из файла конфигурации (в настоящее время только показывает настройки виртуального хоста).
-T (доступно в версии 2.3.8 и выше)
Пропускать проверку корня документа при запуске/перезапуске.
Выполнить тесты синтаксиса только для файлов конфигурации. Программа немедленно завершает работу после этих тестов синтаксического разбора либо с кодом возврата 0 (синтаксис в порядке) или код возврата не равен 0 (синтаксическая ошибка). Если -D DUMP _ VHOSTS также установлен, детали виртуального хоста конфигурация будет распечатана. Если -D DUMP _ МОДУЛИ установлен, все загруженные модули будут напечатаны.
Распечатайте версию httpd и выйдите.
Распечатать версию и параметры сборки httpd и затем выйдите.
Запустите httpd в режиме отладки. Будет запущен только один рабочий процесс, и сервер не будет отсоединяться от консоли.

Следующие аргументы доступны только на платформе Windows:

-k install|config|uninstall
Установите Apache httpd как службу Windows NT; изменить параметры запуска для служба Apache httpd; и удалите службу Apache httpd.
имя
имя службы Apache httpd для передачи сигнала.
Держите окно консоли открытым при ошибке, чтобы сообщение об ошибке быть прочитанным.

Обратите внимание:
Это не раздел вопросов и ответов. Комментарии, размещенные здесь, должны указывать на предложения по улучшению документации или сервера и могут быть удалены нашими модераторами, если они либо реализованы, либо считаются недействительными/не по теме. Вопросы о том, как управлять HTTP-сервером Apache, следует направлять либо на наш IRC-канал #httpd, на Libera.chat, либо в наши списки рассылки.

apache — Что такое HTTPD?

спросил

Изменено 12 месяцев назад

Просмотрено 79 тысяч раз

Я имею в виду, что «httpd» используется только Apache для загрузки программного обеспечения или он также используется другими веб-сайтами? Также необходимо иметь httpd для запуска «cgi» или нет? И почему Apache использует httpd для загрузки http-сервера, а не хранит его в файле на своем http-сайте?

  • апач
  • http
  • cgi

1

Apache HTTPD — демон HTTP-сервера, созданный Apache Foundation. Это часть программного обеспечения, которое прослушивает сетевые запросы (которые выражаются с использованием протокола передачи гипертекста) и отвечает на них.

Это открытый исходный код, и многие организации используют его для размещения своих веб-сайтов.

Доступны другие HTTP-серверы (включая Apache Tomcat, предназначенный для запуска серверных программ, написанных на Java (без использования CGI)).

CGI — это протокол, который позволяет HTTP-серверу использовать внешнее программное обеспечение для определения ответа на запрос вместо того, чтобы просто возвращать содержимое статического файла. Многие HTTP-серверы поддерживают протокол CGI.

Вы можете использовать CGI без HTTP-сервера, но это, как правило, имеет мало применений, кроме того, что позволяет разработчику выполнять тестирование программы CGI из командной строки. (Вы, конечно, не можете взаимодействовать с ним напрямую из веб-браузера).

4

HTTP-демон — это программа, работающая в фоновом режиме веб-сервера и ожидающая входящих запросов сервера. Демон автоматически отвечает на запрос и передает гипертекстовые и мультимедийные документы через Интернет с использованием протокола HTTP.

Apache Httpd — это в основном веб-сервер, используемый для обработки запросов и доставки статического контента. В то время как CGI — это протокол, который добавляет сценарии с запросом, и на основе сценария контент доставляется вместо простого возврата статического контента. Таким образом, нет необходимости использовать CGI с apache httpd, но для доставки динамического контента httpd и cgi используются вместе.

Кроме того, использование httpd с cgi — это очень тяжелый процесс доставки динамического контента, поскольку он создает и уничтожает процесс с каждым циклом ответа на запрос, существует множество других эффективных альтернатив с использованием новейших технологий.

HTTPd — Демон протокола передачи гипертекста

HTTPd — это программа, которая обычно работает в фоновом режиме как процесс. Он играет роль сервера в клиент-серверной модели с использованием сетевых протоколов HTTP и/или HTTPS.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *