Web технологии

7. Web-сервера

Дмитрий Смаль

Web сервера

Запуск web сервера

Файлы web сервера

Процессы web сервера

Модульная архитектура

Конфигурация web сервера

Терминология

virtual host, вирт. хост - секция конфига web сервера, отвечающая за обслуживание определенного домена

location - секция конфига, отвечающая за обслуживание определенной группы URL

Секции и директивы

Приоритеты location в nginx

При одинаковом приоритете используется тот location, что находится выше в конфиге.

Отдача статических документов

/2015/10/ae2b5.png/www/images/2015/10/ae2b5.png
/sitemap/index.xml/home/www/generated/index.xml

Атрибуты файлов и процессов

У процесса есть
  • пользователь
  • группа
У файла (или директории) есть
  • пользователь (владелец)
  • группа
  • права доступа (read/write/execute)

Как узнать атрибуты ?

Проверка доступа

Для того, чтобы открыть файл, необходимо иметь права на чтение r самого файла и на исполнение x директорий, в которых он находится. Наличие прав проверяется следующим образом:

Модели обработки сетевых соединений

Простейший TCP сервер

Блокирующий ввод-вывод

Решение проблемы

Плюсы и минусы prefork

простота разработки можно использовать любые библиотеки большое потребление памяти: 1 клиент = 1 процесс проблема с долгоживущими соединениями

Плюсы и минусы multithreading

По сравнению с prefork,
экономия памяти: 1 клиент = 1 поток требует аккуратной работы с памятью как следствие, накладывает ограничение на выбор библиотек

Неблокирующий ввод-вывод

Мультиплексирование

Event-driven разработка

Плюсы и минусы

быстро, программа не блокируется экономия памяти: 1 клиент = 1 объект обработка большого количества клиентов обработка медленных или долгоживущих соединений тяжело программировать использование блокирующих вызовов все портит

Кто есть кто