Веб - сервер --Apache
- Apache является передачей гипертекстовой среды, Html , Hypertext относится к внутренним страницам содержат картинки, ссылку и даже музыку, программу и другие не текстовые элементы. Протокол передачи гипертекста называется протокол передачи гипертекста, HTTP . HTTP с помощью Uniform Resource Locator URL чтобы установить данные подключения и передачи данных . УИР , унифицированный идентификатор ресурса, но в более широком смысле, включают в себя URL - адрес из .
- Apache Обзор и режим работы
Обзор: первый в мире использование веб - серверного программного обеспечения , которое может работать практически на любой компьютерной платформе. Быстрый и надежный, простой API расширения будет составлять различные переводчика на сервер. Многопроцессорная среда не подходит для потребления , чем многопоточный процесс.
Поток процесса: демон -> Рабочий процесс -> икру потоки (для обработки запроса)
Клиент подключается к случайному порту Apache «S 80 порта, сервер обрабатывает поток обработки запроса открыт, соответствующий запрос пользователя является динамическим или статическим:
Статический : сервер непосредственно возвращает страницу клиенту ( HTML )
Динамический : потребность анализатор сервера для поиска PHP страницы обрабатываются обратно клиенту. (Необходимо подключиться к базе данных)
Apache режимы работы: 3 стабильностей из MPM режима ( MPM : многопроцессорный модуль) являются:
PreFork , работник , событие .
PreFork режим работы:
Apache Перед тем, как начать, вы заранее вилочные несколько подпроцессов, а затем ждать , пока запрос приходит, причина для этого. Для того , чтобы уменьшить частоту создания процесса и накладные расходы по уничтожению. Каждый дочерний процесс только один поток одновременно может обрабатывать только один запрос.
Преимущества: зрелые и стабильные, совместимые со всеми старыми и новыми модулями. В то же время , вам не нужно беспокоиться о проблемах безопасности потока.
Минусы: процесс потребляет относительно больше системных ресурсов, потребляют больше памяти, но не хорошо дело с высокими одновременными запросами.
Рабочие режимы работы:
Использование многозадачности и многопоточный смешанный режим. Он также пред- вилы ряд дочерних процессов (небольшое количество), то каждый дочерний процесс создал несколько потоков, в том числе слушающего потока. Слушающий поток запрос доступа и передает его на резьбу услуг и ответы. По сравнению с резьбой процесс легче, потребляют меньше ресурсов. Поскольку поток обычно разделяют пространство памяти родительского процесса, поэтому занимают меньше ресурсов. В высоких сценариях параллелизма, по сравнению PreFork больше потоков мощности процессора будет сильнее.
Преимущества: занимает меньше памяти, высокий параллелизм лучшую производительность.
Недостатки: необходимо рассмотреть защитную нить, нить умирает, все темы , о смерти ребенка , где все нити
события режим работы:
И рабочий режим похож, самое большое различие заключается в том, чтобы решить на Keep-Alive ( в начале HTTP необходимо ресурсы приложения должны храниться TCP соединение и разъединение, пустая трата ресурсов. Таким образом , с в Keep-Alive , в Keep-Alive множества keepalive_timeout , будет HTTP демон посылает полный ответ после ожидания keepalive_timeout времени, в течение долгого времени не будет открытым, но долго ждать , чтобы использовать его может быть больше траты ресурсов) длительная оккупацией проблемы Путанки, есть выделенный поток , чтобы управлять ими keep- живой тип армирующей возможности обработки запроса нити под высоким параллелизмом.
Вид: HTTP -V | Grep -i "Сервер MPM"
Ориентация: указано в опции компиляции --with-MPM = ххх
Подробная конфигурация 3.Apache
Запустите конфигурацию:
1. Установить
[Корень @ апач ~] # ням установить HTTPD -y HTTPD-руководство
[Корень @ апач ~] # мин -ql HTTPD
/etc/httpd/conf.d/autoindex.conf
/etc/httpd/conf.d/userdir.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf.modules.d
/etc/httpd/conf.modules.d/00-base.conf
/etc/httpd/conf.modules.d/00-dav.conf
/etc/httpd/conf.modules.d/00-lua.conf
/etc/httpd/conf.modules.d/00-mpm.conf
/etc/httpd/conf.modules.d/00-proxy.conf
/etc/httpd/conf.modules.d/00-systemd.conf
/etc/httpd/conf.modules.d/01-cgi.conf
Суб-профили
/etc/httpd/conf/httpd.conf
Основной конфигурационный файл
журнал
/ Вар / Журнал / HTTPD /
Журнал ошибок: Запись апач-сервер , через который ошибка
Журналы доступа: запись которых клиенты получили доступ к текущей веб-сервер
/etc/logrotate.d/httpd
Вход вращения
/ Вар / Журнал / HTTPD / * журнал {
missingok
notifempty
sharedscripts
delaycompress
postrotate
/ Bin / systemctl перезарядка httpd.service> / DEV / нуль 2> / DEV / нуль || правда
## перезагрузить Apache файлы конфигурации
## правильный выход и ошибка все документы в черную дыру
Предыдущие ## || команды не удается, выполните команду назад
&& предыдущая команда успешно, выполнить последующие команды
## истинно всегда возвращает истинное значение
Интервью вопросы: Почему эта операция?
После поворота файла журнала, старый файл инода не изменился, если не загрузить файл конфигурации, новый журнал до сих пор пишут старый сбой вращения лог - файла.
endscript
}
/ USR / lib64 / HTTPD / модули
## апач модуль
/usr/share/doc/httpd-2.4.6
Справка по конфигурации ##
/ Var / WWW
## страница каталога опубликована
[Корень @ апач ~] # systemctl начать HTTPD
Браузер доступа: http://172.16.0.31/manual/
[Корень @ апач ~] # Grep "Апач" / и т.д. / пароль
апаша: х: 48: 48: Apache: / USR / доли / HTTPD: / SBIN / NOLOGIN
Профиль 2. Толкование
[Корень @ Apache / и т.д. / HTTPD / CONF] # Vim httpd.conf
## контейнер каталога, определить путь виртуального доступа
нет <Directory /> ## «» не обертка, которая представляет собой виртуальный путь
не AllowOverride ни
Требовать все отрицает
</ Directory>
DocumentRoot "/ Var / WWW / HTML"
## определить путь к доступу по умолчанию
<Directory "/ Var / WWW"> ## "" обертка, путь сущность
не AllowOverride None
# Разрешить открытый доступ:
Требовать все предоставлено
</ Directory>
<Directory "/ Var / WWW / HTML">
Опции Индексы FollowSymlinks
## Параметры конфигурации контейнера каталог
Индекс поддержки #Indexes
#FollowSymLinks поддерживает символьные ссылки
не AllowOverride None
##, следует ли использовать проверку
#None сказали, что они не использовали
Требовать все предоставлено
## Список контроля доступа, который позволяет клиенту получить доступ к машине апача
#All предоставлено позволяет всем клиентам получить доступ
</ Directory>
(1) После установки, начать результаты прямого доступа, тест ошибки страницы
[Корень @ апач /etc/httpd/conf.d]# ВИМ welcome.conf
<LocationMatch "^ / + $">
Опции -Indexes
ErrorDocument 403 /.noindex.html
</ LocationMatch>
<Directory / USR / доли / HTTPD / NOINDEX>
не AllowOverride None
Требовать все предоставлено
</ Directory>
## тестовая страница, нет прямой возврат 403 ошибки
Алиас /.noindex.html /usr/share/httpd/noindex/index.html
Страница ## посещение /.noindex.html
# Cd / вар / WWW / HTML /
[Root @ апач / вар / WWW / HTML] # Ls
[Корень @ апач / вар / WWW / HTML] # эхо "тест"> index.html
[Корень @ апач / вар / WWW / HTML] # ф / и т.д. / пароль.
[Корень @ Apache / вар / WWW / HTML] # ф / и т.д. / группа.
# В случае, если есть тест по умолчанию страница, другие файлы не могут быть доступны
[Корень @ апач / вар / WWW / HTML] # ет -f index.html
[Root @ апач / вар / WWW / HTML] # Ls
группа ПАРОЛЬ
[Корень @ апач /etc/httpd/conf.d]# ВИМ welcome.conf
## Все комментарии конфигурации этого файла
[Корень @ апач /etc/httpd/conf.d]# systemctl рестарт HTTPD
(2) Индексы
Показать страницу публикации файлов в каталоге
[Корень @ Apache / и т.д. / HTTPD / CONF] # Vim httpd.conf
#Options Индексы FollowSymlinks
Options Indexes
[Корень @ Apache / и т.д. / HTTPD / CONF] # systemctl перезапуска HTTPD
(3) FollowSymLinks
На странице каталога выставки, поддерживает символьные ссылки
[Корень @ апач / вар / WWW / HTML] # пер -s / и т.д. / Fstab.
[Корень @ апач / вар / WWW / HTML] # Л.Л.
всего 8
lrwxrwxrwx 1 корень корень 10 14 августа 14:35 Fstab -> / и т.д. / Fstab
-rw-р - r-- 1 корень корень 481 14 августа 14:10 группа
-rw-р - r-- 1 корень корень 14 августа тысячи тридцать-одна 14:10 PASSWD
[Корень @ Apache / и т.д. / HTTPD / CONF] # Vim httpd.conf
Опции Индексы FollowSymlinks
[Корень @ Apache / и т.д. / HTTPD / CONF] # systemctl перезапуска HTTPD
(4) Подтверждение доступа
[Корень @ Apache / и т.д. / HTTPD / CONF] # Vim httpd.conf
AllowOverride All ## внутри контейнера в каталоге
AccessFileName .htaccess ## в директории вне контейнера
<Files ".ht * "> ## файл-контейнер, ограничение" .ht" начинается с .ht файл с именем
Требовать все отрицались ## отказался быть доступным для всех
</ Files>
[Корень @ апач / вар / WWW / HTML] # ВИМ .htaccess
AuthName «доступ тест» ## проверенное имя
AuthType Basic ## типы аутентификации, базовая аутентификация
AuthUserFile «/var/www/html/.htpasswd» ## легальные пользователи сохранять файлы
Требуется действительный пользователю ## только легальные пользователи могут получить доступ к
[Корень @ апач / вар / WWW / HTML] # Htpasswd -c /var/www/html/.htpasswd h1
-с создать файл пользователя
Новый пароль:
Введите повторно новый пароль:
Добавление пароля для пользователя h1
[Корень @ апач / вар / WWW / HTML] # кошка .htpasswd
h1: $ apr1 $ qO3Rhva5 $ 3RgNncMHN2npNWt7CDQVW.
[Корень @ апач / вар / WWW / HTML] # Htpasswd /var/www/html/.htpasswd h2
Новый пароль:
Введите повторно новый пароль:
Добавление пароля для пользователя h2
[Корень @ апач / вар / WWW / HTML] # кошка .htpasswd
h1: $ apr1 $ qO3Rhva5 $ 3RgNncMHN2npNWt7CDQVW.
h2: $ apr1 $ gSEFk0Ia $ vLtp05wisooWhrMEfIZZ60
[Корень @ Apache / и т.д. / HTTPD / CONF] # systemctl перезапуска HTTPD
(5) Контроль доступа
Требовать все предоставлено ## позволяет всем клиентам получить доступ
Требовать все Отказано ## отклонить весь доступ клиента
Whitelist: какие клиенты разрешают доступ машины веб-сервер
Применение в фоновом режиме сайта веб-сервере, что позволяет доступ только к бизнес - персоналу компании.
Требовать все отрицает
требуется список IP IP-адреса
[Корень @ Apache / и т.д. / HTTPD / CONF] # Vim httpd.conf
Требовать все отрицает
Требуется IP 172.16.0.230AuthName «доступ тест» ## подтвержденного имя
Тип аутентификации AuthType Basic ##
[Корень @ Apache / и т.д. / HTTPD / CONF] # systemctl перезапуска HTTPD
Черный список: Какие клиенты лишен доступом к машине веб-серверу
На переднем плане применения сайт веб-сервер, что позволяет всем пользователям из Интернета, отказался от несанкционированного доступа.
Как подтвердить, что пользователь является незаконным?
Анализ журналов доступа Apache.
<RequireAll>
требуют не IP IP список адресов
Требовать все предоставлено
</ RequireAll>
[Корень @ Apache / и т.д. / HTTPD / CONF] # Vim httpd.conf
<RequireAll>
Требуют не внутрибрюшинно 172.16.0.230
Требовать все предоставлено
</ RequireAll>
[Корень @ Apache / и т.д. / HTTPD / CONF] # systemctl перезапуска HTTPD
-------------------------------------------------- ------
##, чтобы определить имя файла по умолчанию тестовой страницы
<IfModule dir_module>
DirectoryIndex index.html
</ IfModule>
## журнал доступа
## Формат журнала определен доступ
LogFormat "% ч% л% у% т \" % г \ "%> s% б \ "% {Referer} я \" \ "% {User-Agent} я \"" комбинированный
LogFormat "% ч% л% у% т \" % г \ "%> s% B" общий
172.16.0.230 - - [10 / Июнь / 2019: 18: 44: 48 +0800] "GET / HTTP / 1.1" 200 690 "-" «Mozilla / 4.0 (совместимый; MSIE 8.0; Windows NT 6.1; Win64; 64; Trident / 4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E, Tablet PC 2,0)»
172.16.0.230 клиент IP
- - два заполнители
[10 / Июнь / 2019: 18: 44: 48 +0800] Время доступа, временная зона
GET / HTTP / 1.1 методы доступа, протоколы
код 200 состояния
-------------------
веб-сервер кода статуса:
1хе сообщения
2xx успешный визит
200 OK
3xx Перенаправление
4xx Ошибка клиента
Ошибка сервера 5xx
-------------------
690 сервера к клиенту, сколько передача файлов, байтов
Вслед за информацией клиента
TypesConfig /etc/mime.types
## веб-сервер в браузере поддерживает форматы файлов