Код курса: LAWS
Формат проведення: on-line
Після закінчення курсу студент буде знати:
- Як працює DNS
- Як влаштований протокол http, які методи він підтримує
- Що таке Apache MPM і в чому між ними різниця
- Як забезпечити безліч різних сайтів (доменів і сабдоменов) на одному сервері
- Навіщо потрібен Nginx і чому його вибирають в якості первинного web-сервера
- У яких режимах може працювати PHP і в яких випадках краще використовувати той чи інший режим
- Основи MySQL сервера і його ФОРКОМ, типи таблиць і різницю між ними
- Навіщо потрібен SSL, процедура отримання сертифіката та види SSL сертифікатів
- На що звертати увагу при тюнінгу продуктивності зв'язки LAMP / LEMP
Після закінчення курсу студень буде вміти:
- Налаштовувати власний DNS-сервер з реплікацією доменних зон
- Встановлювати і налаштовувати web-сервери виходячи із заданих початкових вимог
- Керувати базами даних, які використовуються для web-проектів
- Реєструвати і встановлювати SSL сертифікати, перевіряти правильність всьому ланцюгу проміжних сертифікатів
- Піднімати продуктивність зв'язки web-сервера без додавання ресурсів (CPU, RAM, HDD)
- Переносити web-проекти з сервера на сервер з урахуванням нюансів і можливих проблем, які можуть виникнути при таких перенесення
Программа
1. Протокол DNS
- Принципи роботи. Архітектура. Система кореневих серверів.
- Види NS-записів. NS сервери, св’язки.
- Лабораторна робота. Реєстрація доменного імені. Налаштування DNS сервера, св’язка master->slave.
2. Веб-сервери
- Протокол HTTP, виды запросов. Основы HTML.
- Веб-сервер Apache. Архітектура, конфігурація, режими роботи. Система модулів. Команди по управлінню Apache. Віртуалхости. Apache Tomcat.
- Лабораторна робота. Встановлення та налаштування веб-сервера Apache. Конфігурації, модулі. Створення віртуалхостов. Встановлення та налаштування Тomcat.
- Веб-сервер Nginx. Архітектура, конфігурація, віртуалхости, location-и.
- Apache. Особливості, види проксирування. Віртуалхости.
- Лабораторна робота. Встановлення та налаштування Nginx. Св’язка Apace + Nginx. Декілька сайтів на одному сервері. Nginx + Tomcat.
3. MySQL
- Основи мови SQL. СУБД MySQL, архітектура, форки (percona, mariadb). Види движків, порівняння.
4. PHP
- Основы языка PHP. Архітектура, конфігурація php.ini, модулі. Інсталляція з пакетів і з исходников. PHP MyAdmin, Adminer.
- Лабораторна робота. Встановлення та налаштування MySQL, створення баз даних. PHP (з пакетів та вихідних файлів), phpmyadmin (з пакетів та вихідних файлів), встановлення adminer.
- Режими роботи php. Модуль apache, CGI, FastCGI. PHP-FPM
5. Додаткові функції веб-серверів
- Перенаправлення посилань (редиректи), ACL, Basic AUTH, кешування static-cache, GZIP стиснення.
- Лабораторна робота. Практика по режимам роботи PHP. Св’язка nginx + php-fpm. Настройка додаткових функцій веб-серверів.
- Логування, access logs, error logs. Інтерпретація логів. Коди відповідей веб-серверів. server-status.
- Настройка SSL сертификата для сайта. 1) самоподписанный, 2) платный, 3) letsencrypt.
- Лабораторна робота. Практика по логгированию apache, nginx, php. Настройка SSL сертификата для сайта.
6. Инфраструктура веб-серверов
- Высокие нагрузки. HAProxy, кластер веб-серверов.
- Мониторинг веб-серверов. Zabbix.
- Лабораторна робота. Настройка кластера веб-серверов. Балансировка на стороне Nginx, настройка zabbix.
- Резервное копирование (файлы + БД) с использованием собственных скриптов.
7. Тюнинг производительности веб-серверов
- Тюнинг производительности веб-серверов. Google Pagespeed. Разгон сайта (на примере WordPress). Best practice по настройке веб-серверов.
- Лабораторна робота. Настройка резервного копирования. Тюнинг движка WordPress, mysql, php-fpm.