---
title: Создание простейшего сайта на Nginx
date: 2026-03-07 11:05:09
slug: sozdanie-prosteyshego-sayta-na-nginx-2026-03-07-11-05-09
---

## Шаг 1: Установка Nginx и запуск локального сервера
Устанавливаем Nginx:
```
sudo apt update
sudo apt install nginx -y
```
После установки Nginx автоматически запустится.
Чтобы проверить, всё ли работает, откройте браузер и введите `http://localhost`. Если вы увидели страницу приветствия Nginx — всё отлично.

![nginx default page](https://vexaiv.ru/images/nginx.default.debian.jpg)

## Шаг 2: Создаем структуру и файлы сайта
Первым делом нужно создать директорию, где будут лежать файлы вашего сайта. Обычно принято держать сайты в `/var/www/`:
```sudo mkdir -p /var/www/my-site```
Создайте простую HTML-страницу:
```sudo nano /var/www/my-site/index.html```
Вставьте в файл простой код web-страницы, которая будет отображаться на вашем сайте:
```<!DOCTYPE html> <html lang="ru"> <head>
    <meta charset="UTF-8">
    <title>Мой сайт</title>
</head>
<body>
    <h1>Привет!</h1>
    <p>Этот сайт работает на Nginx.</p>
</body>
</html>```
Сохраните файл (в nano: Ctrl+X, затем Y, затем Enter).

## 🔧 Шаг 3: Настраиваем Nginx (создаем конфигурацию для сайта)
Нам нужно создать файл конфигурации, который укажет Nginx откуда брать файлы для вашего сайта. Создайте новый конфигурационный файл:
```sudo nano /etc/nginx/sites-available/my-site```
Вставьте в него базовую конфигурацию:
```server {
    # Слушаем 80 порт (стандартный порт HTTP)
    listen 80;
    
    server_name local.my-site;

    # Корневая папка с файлами сайта
    root /var/www/my-site;

    # Главный файл, который будет открываться по умолчанию
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}```
Сохраните файл.

> Обратите внимание, что параметр `server_name` я указал как `local.my-site`, хотя файл конфигурации называется `my-site`. Я это сделал специально, чтобы показать, что вы можете дать им разные названия.
Nginx читает сразу все конфигурации сайтов в `/etc/nginx/sites-enabled` в алфавитном порядке, и имена конфигурационных файлов по сути влияют только на то, какой файл будет обработан первым.
Параметр `server_name` же читается при обработке запроса в браузере. Nginx видит, что пришел запрос, например, `http://local.my-site/articles.html`, и он ищет в активных конфигурациях блок `server` с параметром `server_name local.my-site`, и использует первую подходящую конфигурацию.

## Шаг 4: Включаем сайт
Чтобы активировать сайт в Nginx нужно создать символическую ссылку в `/etc/nginx/sites-enabled`, указывающую на созданный конфиг `/etc/nginx/sites-available/my-site`:
```sudo ln -s /etc/nginx/sites-available/my-site /etc/nginx/sites-enabled/```
Проверьте, нет ли ошибок в конфигурации (это важный шаг!):
```sudo nginx -t```
Вы должны увидеть: `syntax is ok` и `test is successful`.

Также проверьте права доступа. Обычно nginx работает от пользователя `www-data` и этот пользователь должен быть владельцем файлов сайта:
```chown -R www-data:www-data /var/www/my-site```
`-R` значит "рекурсивно для всех вложенных файлов и папок, `www-data:www-data` - владелец "пользователь:группа".

Если всё хорошо, перезагрузите Nginx, чтобы применить изменения и активировать конфигурацию:
```
для systemd:
sudo systemctl reload nginx

для sysv:
sudo service nginx restart
```
> Еще одна важная деталь для локального тестирования: мы не зарегистрировали домен `local.my-site` в глобальной сети, так что браузер не сможет его найти.
Для локальной регистрации этого домена на вашей машине нужно прописать его в файл `/etc/hosts` (Linux/macOS) или `C:\Windows\System32\drivers\etc\hosts` (Windows) такой строкой:
```127.0.0.1 local.my-site```
Без этого браузер не сможет преобразовать `local.my-site` в IP-адрес и не сможет открыть страницу.

## Шаг 6: Проверяем результат
Откройте браузер и введите `http://local.my-site`.
Вместо стандартной страницы-заглушки Nginx вы должны увидеть вашу страницу:

![my-site page](https://vexaiv.ru/images/nginx.minimal.jpg)

## Победа
Вы создали свой первый сайт на Nginx. Поздравляю.