Неделя 2: Установка Nginx и первый сайт
Цель: Установить веб-сервер, разобраться с его конфигами, запустить статический сайт.
ТЕОРИЯ (продолжение вашего текста):
Установка программ в Linux
Менеджер пакетов apt
apt update- обновить список пакетовapt upgrade- обновить все пакетыapt install nginx- установить nginxapt 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: Установка и проверка
# 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
# 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: Создаём свой статический сайт
# 1. Создайте папку для своего сайта
mkdir -p /var/www/timurstatic.geekslore.ru
# 2. Создайте простую HTML-страницу
cat > /var/www/timurstatic.geekslore.ru/index.html << 'EOF'
<!DOCTYPE html>
<html>
<head>
<title>Мой первый сайт</title>
</head>
<body>
<h1>Привет, мир!</h1>
<p>Это мой статический сайт на сервере</p>
<p>Дата создания: $(date)</p>
</body>
</html>
EOF
# 3. Проверьте, что файл создался
ls -la /var/www/timurstatic.geekslore.ru/
cat /var/www/timurstatic.geekslore.ru/index.html
Задание 2.4: Создаём конфиг для сайта
# 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: Проверка
# 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[ ] Мой сайт отвечает на запросы
ЗАДАНИЕ НА НЕДЕЛЮ:
Проект «Мой статический сайт»
Улучшите HTML-страницу:
Добавьте CSS (хотя бы пару стилей)
Добавьте картинку (можно из интернета по URL)
Сделайте, чтобы страница показывала текущее время (JavaScript)
Добавьте второй статический сайт для практики:
Создайте папку
/var/www/test.geekslore.ruСоздайте простую страницу «Тестовая страница»
Создайте конфиг для test.geekslore.ru
Включите его
Напишите отчёт
week2-report.md:Скриншот страницы в браузере (можно через curl или реальный браузер, если настроили DNS)
Содержание обоих конфигов
Команды, которые использовали
Что было сложного
Что узнали нового
Дополнительно (со звёздочкой):
Настройте, чтобы сайт timurstatic.geekslore.ru открывался по IP без указания Host (как сайт по умолчанию)