### **Неделя 2: Установка Nginx и первый сайт** **Цель:** Установить веб-сервер, разобраться с его конфигами, запустить статический сайт. #### **ТЕОРИЯ (продолжение вашего текста):** ##### Установка программ в Linux **Менеджер пакетов apt** - `apt update` - обновить список пакетов - `apt upgrade` - обновить все пакеты - `apt install nginx` - установить nginx - `apt remove nginx` - удалить - `apt search nginx` - поиск **Systemd - управление службами** - `systemctl status nginx` - статус службы - `systemctl start nginx` - запустить - `systemctl stop nginx` - остановить - `systemctl restart nginx` - перезапустить - `systemctl enable nginx` - добавить в автозагрузку **Важные команды** - `curl http://localhost` - сделать HTTP-запрос - `journalctl -u nginx` - посмотреть логи службы #### **ПРАКТИКА:** **Задание 2.1: Установка и проверка** ```bash # 1. Обновите список пакетов apt update # 2. Установите nginx apt install -y nginx # 3. Проверьте статус systemctl status nginx # 4. Сделайте запрос к локальному серверу curl http://localhost # 5. Посмотрите, какие файлы поставил nginx dpkg -L nginx | head -20 ``` **Задание 2.2: Исследование конфигов nginx** ```bash # 1. Главный конфиг cat /etc/nginx/nginx.conf # 2. Папка с сайтами (ваше описание) ls -la /etc/nginx/sites-available/ ls -la /etc/nginx/sites-enabled/ # 3. Найдите, какой сайт включен по умолчанию cat /etc/nginx/sites-enabled/default # 4. Где лежат файлы сайта по умолчанию? # (подсказка: ищите root в конфиге) ``` **Задание 2.3: Создаём свой статический сайт** ```bash # 1. Создайте папку для своего сайта mkdir -p /var/www/timurstatic.geekslore.ru # 2. Создайте простую HTML-страницу cat > /var/www/timurstatic.geekslore.ru/index.html << 'EOF'
Это мой статический сайт на сервере
Дата создания: $(date)
EOF # 3. Проверьте, что файл создался ls -la /var/www/timurstatic.geekslore.ru/ cat /var/www/timurstatic.geekslore.ru/index.html ``` **Задание 2.4: Создаём конфиг для сайта** ```bash # 1. Создайте файл конфигурации cat > /etc/nginx/sites-available/timurstatic.geekslore.ru << 'EOF' server { listen 80; server_name timurstatic.geekslore.ru; root /var/www/timurstatic.geekslore.ru; index index.html; access_log /var/log/nginx/timurstatic.access.log; error_log /var/log/nginx/timurstatic.error.log; } EOF # 2. Включите сайт (создайте символьную ссылку) ln -s /etc/nginx/sites-available/timurstatic.geekslore.ru /etc/nginx/sites-enabled/ # 3. Проверьте конфигурацию nginx -t # 4. Перезапустите nginx systemctl reload nginx ``` **Задание 2.5: Проверка** ```bash # 1. Локально (с сервера) curl -H "Host: timurstatic.geekslore.ru" http://localhost # 2. Проверьте логи tail -f /var/log/nginx/timurstatic.access.log # (в другом окне выполните curl ещё раз) ``` #### **ПРОВЕРКА СЕБЯ:** - [ ] Я могу установить программу через apt - [ ] Я могу запустить/остановить службу через systemctl - [ ] Я понимаю разницу между sites-available и sites-enabled - [ ] Я создал свой первый конфиг nginx - [ ] Я проверил конфиг через `nginx -t` - [ ] Мой сайт отвечает на запросы #### **ЗАДАНИЕ НА НЕДЕЛЮ:** **Проект "Мой статический сайт"** 1. **Улучшите HTML-страницу:** - Добавьте CSS (хотя бы пару стилей) - Добавьте картинку (можно из интернета по URL) - Сделайте, чтобы страница показывала текущее время (JavaScript) 2. **Добавьте второй статический сайт** для практики: - Создайте папку `/var/www/test.geekslore.ru` - Создайте простую страницу "Тестовая страница" - Создайте конфиг для test.geekslore.ru - Включите его 3. **Напишите отчёт `week2-report.md`**: - Скриншот страницы в браузере (можно через curl или реальный браузер, если настроили DNS) - Содержание обоих конфигов - Команды, которые использовали - Что было сложного - Что узнали нового **Дополнительно (со звёздочкой):** - Настройте, чтобы сайт timurstatic.geekslore.ru открывался по IP без указания Host (как сайт по умолчанию)