Step 2 (S-44752)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/14825/step/2

Step 2 (S-44752) 1.png

[00:00 - 00:18] мы переходим к рассмотрению в офисе а сервер это сетевой сервер который собственно занимается обработкой протокола http а то есть если на 1 стороне клиента стране нас находится клиент


[00:18 - 00:36] я слышал что браузер на стороне сервера в дата центре работает сервер который занимается отдачей документов по протоколу http а сегодня мы посмотрим каким образом работает а сервер


[00:36 - 00:53] каким образом устрою он изнутри начнем обзор вообще существующих решений веб серверов на сегодняшний день довольно много поскольку я уже говорил приложение так


Step 2 (S-44752) 2.png

[00:53 - 01:13] довольно популярная тема организация тоже довольно много разных хотелось бы выделить следующие а наиболее старый сервер это апачи фактически это развитие самого 1 сервера который был


[01:13 - 01:27] реализована и уход постоянно переписывался до делался отсюда название патчи а от слова про пачек звучит похоже а


[01:27 - 01:45] фактически оплачивая это универсальный интернет комбайну которого огромное количество функций а и кроме этого это наиболее распространенный на сегодняшний день веб серверов под управлением оплачу работает около 60%


[01:45 - 02:03] серверов в сети интернет а которые хотелось бы представить это


[02:03 - 02:20] а в относительно молодой сервер заработанные играемся сойера отличительной особенностью джинсы является его быстрота и надежность а также а сейчас довольно функционален но при этом он остается крайне легковесным


[02:20 - 02:38] и а свою скорость надежность равно пользуются большой популярностью наиболее так скажем быстрорастущие по количеству использования сервер сети интернет сегодня а


[02:38 - 02:55] у nginx есть аналог хватит денег на нем останавливаться не будем ну а если и а оплачивать 5 представляет юных сервера а то странный майкрософт фактически


[02:55 - 03:14] а пошел разнообразных средств информационного на сервис который соответственно работает в структуре майкрософт касаться нибудь вообще мы будем в 1 очередь противник сервера и а большей части по верхней 2 то есть пробежится апач


[03:14 - 03:33] предполагается что вы как пользователь система можете самостоятельно установить сервер и а это сделали а допустим нас имеется сервер мы хотим его каким то образом


Step 2 (S-44752) 3.png

[03:33 - 03:50] пустить и начать с ним работать а в линуксе сервер в юниксе а является а что такое делом делом программа которая не связана с консолью либо с графическим интерфейсом


[03:50 - 04:08] машина на которой она работает а это программа которая висит в памяти постоянно а она спускается висит в памяти и а обрабатывает данные которые в большинстве случаев приходят по сети то есть через какое то soccer соответственно


[04:08 - 04:26] а также являются демонами и как систему на не спуская с помощью и не скрипта а здесь приведена команда каким образом можно запустить гимс эта команда может меняться в зависимости от операционной системы


[04:26 - 04:42] разновидности линуксов а на которую вас установлен кингз но скорее всего такая команда будет работать а тут следует сказать про запуск а различных демонов вообще каждый делает то он запускается по своему


[04:42 - 04:59] то есть у него есть свой набор опции командной строки переменных окружения которое ему нужны а по функционалу возможность во немножко разные чтобы администратору системы не возиться со всем этим разнообразием а разработчики


[04:59 - 05:18] разработчика а те кто оформляет пакет для операционной системы а включают так и не скрипты и скрипт это программа а командного интерпретатора то есть шел скрипт


[05:18 - 05:36] а в этом скрипте как раз указано как именно нужно запускать а интерфейса всех командных всех и не скриптов он очень похожи а то есть имя скрипта старт для запуска стоп для остановки сервиса что происходит когда


[05:36 - 05:52] вы запускаете данный скрипт а пускается исполняемый код web сервера он читает файл конфигурации а у каждого сервера есть файл конфигурации как правило довольно большой объем


[05:52 - 06:08] это простой текстовый файл который лежит в директории в директорию с конфигами etc сервер прочитал конфигурацию если конфигурация неправильна вообще запускаться не будет вообще отлично сообщит обожаю


[06:08 - 06:23] не запустится а далее а в этот момент предполагается что вы спускается скрипт от суперпользователь религиями


[06:23 - 06:42] круто а решетку здесь а почему это нужно во в сервер а должен обрабатывать протокола http то есть он должен открыть и прослушивать порт номер 80 а мы говорили что партии не ниже 1000 24 требует привилегий суперпользователя


[06:42 - 07:01] поэтому чтобы сервер смог прослушать 80 порт он должен запускаться с привилегиями суперпользователя а далее сервер пишет логи а логи это текстовый файл в котором отображается ход его работы в частности сообщения об ошибках


[07:01 - 07:18] а эти логи находится в директории в и как правило в хороших системах они доступны для чтения только суперпользователь чтобы кто угодно не мог получить из не какую то важную информацию поэтому для ответила в тоже нужны


[07:18 - 07:36] проявление супер пользоваться а дальше понижает привилегия что это значит это значит что меняет имя текущего пользователя с а супер пользователя на более низкий уровень привилегий


[07:36 - 07:55] это нужно затем чтобы сервер не работал постоянно обслуживала запросы от лица суперпользователь к тому что если в нем есть какая то уязвимость это поставить под угрозу систему когда привилегий в пониженная сервер опционально запускает дочерние процессы так называемый воркер


[07:55 - 08:11] либо потоке зависит от конструкции от архитектуры снова в сер а пустого все потоки запущенная в обсервер готов к обработке запроса а этот таков механизм


[08:11 - 08:28] еще раз повторим читаю конфигурацию открываем ports либо если их несколько открываем файл логов запускал понижает привилегии запускаю а обработчики


[08:28 - 08:44] процесс обработки и просто обработки запросов а давайте посмотрим какие файлы использует веб сервер сервер по сути нужен а для дачи все с на работы диска


Step 2 (S-44752) 4.png

[08:44 - 09:03] а когда мы говорим а имей ввиду что он работает следующим файлом во 1 это файл config например он находится вот здесь


[09:03 - 09:20] в директории etc вместе с конфигами остальных серверов а поскольку конфиг большой обычно конфиг делится на несколько частей то есть конфиг сервера то не 1 а целый набор откройте основной


[09:20 - 09:36] там фиг выглядите увидеть 1 инструкция типа include include это включение а 1 файла внутр другого то есть постановка это по аналогии или скажем с инклудами в языке c


[09:36 - 09:55] окей есть конфиг а есть и не скрипт с помощью которого мы спускаем а где спитфайры что такое дело в том что после того как сервер запущен он отключается


[09:55 - 10:10] вот консоли и а работы независимо от того кто его запустил а иногда возникает необходимость установить вообще но как его остановить когда нужно каким то образом обратиться


[10:10 - 10:25] а для этого используется стандартный механизм а любой делом которое запускается ну если там написано правильно при запуске он складывает свой идентификатор процесса то есть pid pid идентификатор процесса процесса


[10:25 - 10:40] номер порядковый номер процесса запущенного в системе linux по складывает в определенный файл вот этот файл называется файл а дальше из этого файла можно получить идентификатор пить веб сервера


[10:40 - 10:58] сделать с ним что то новое например остановить а кроме этого сервер открывать файлы логов а вообще есть 2 принципиально разных слог это жирок


[10:58 - 11:14] access log а логи содержатся сообщения об ошибках сервера а в принципе формат ярлычок ничем не определен то есть в зависимости от


[11:14 - 11:32] языка на котором написано и от ошибки там может быть появляется стресс а просто сообщение об ошибке либо что то другое во ц слог а складываются сообщение успешно или неуспешно обработанные


[11:32 - 11:48] запроса и запроса а при этом формат так со слога задается жестко а и этот лог он доступен для парсинга с помощью каких то средств обработки


[11:48 - 12:04] так мы смотрели какие файлы используемого сервера за исключением пользовательских файлов естественно что в сервер отдает какие то документы с диска а давайте сейчас рассмотрим из каких процессов стоит веб сервер


Step 2 (S-44752) 5.png

[12:04 - 12:22] процессы имеются ввиду процесс операционной системы которая запущена работающего сервера а все это довольно специфична для разных а конкретных сроков то есть попахивает не процесс в день с немножко другие а


[12:22 - 12:39] майкрософт сервер может совсем по другому работать а но в общем диалоге следующее во в сервере выделяется вот серверах выделяется 2 вида процесса в 2 2 2 разновидности это мастер процесс воркер


[12:39 - 12:58] мастер процесс это тот процесс который фактически вы запускаете за не скрипта он как правило 1 а в его задачи входит чтение конфига открытие сокета необходимо прослушивания логов и запуск воркер


[12:58 - 13:17] после того как он запустил воркеры он переходит в режим мониторинга то есть после этого его задача заключается в поддержании правильного количества работающих воркер необходимость он добавляет еще


[13:17 - 13:34] процессов а если они простаивают он оборотов уменьшает количество а важно что мастер процесс работает от рута то есть он сохраняет свои привилегии


[13:34 - 13:53] процесс он запускается уже с пониженными привилегиями то что он работает какого то другого юзера например этот пользователь может называться новая дата любая часто его называют на базе имя пользователя может быть несколько от 1 до


[13:53 - 14:09] а произвольного количества зависит от модели обработки сетевых соединений которые используют во 1 к задаче задача процесс воркер входят только 1 это циклическое обработка


[14:09 - 14:28] а соединении входящих в некоторых случаях во в сервере есть дополнительные процесса например те которые следят за очистка кэша cache называемые основные процессы это следующее то мастер и


[14:28 - 14:32] воркеры которые непосредственно обрабатываются сетевые запросы