В статье рассмотрим:
- установку Nginx на Ubuntu;
- структуру каталогов и конфигураций;
- создание сайта через server block;
- настройку index-файлов и mime-типов;
- проверку синтаксиса и перезапуск службы;
- разбор ошибок 403, 404, 502;
- как включить автозапуск и логи.
Установка Nginx на Ubuntu
Начнём с установки последней версии Nginx из репозиториев Ubuntu.
sudo apt update
sudo apt install -y nginx
Проверяем статус службы:
sudo systemctl status nginx
Проверяем, запущен ли сервер:
curl http://127.0.0.1
Структура конфигурации Nginx
После установки важно понимать, где находятся файлы Nginx:
/etc/nginx/
├── nginx.conf # основной конфиг
├── sites-available/ # доступные сайты
├── sites-enabled/ # включённые сайты
├── snippets/ # дополнительные фрагменты
└── conf.d/ # дополнительные конфиги
Сайты подключаются через sites-enabled, обычно с помощью символической ссылки.
Создание собственного сайта (server block)
Создадим сайт mysite:
sudo nano /etc/nginx/sites-available/mysite
Минимальная конфигурация:
server {
listen 80;
server_name _;
root /var/www/mysite;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
Создаём папку сайта:
sudo mkdir -p /var/www/mysite
Добавляем тестовый файл:
echo '<h1>Работает!</h1>' | sudo tee /var/www/mysite/index.html
Включение сайта
Создаём симлинк:
sudo ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/
Проверяем конфигурацию:
sudo nginx -t
Перезапускаем Nginx:
sudo systemctl reload nginx
Настройка прав доступа и владельцев
Чтобы сайт работал корректно, права должны быть такими:
sudo chown -R www-data:www-data /var/www/mysite
sudo chmod -R 755 /var/www
Если забыть сменить владельца, можно получить ошибку 403 Forbidden.
Настройка MIME-типов
Если сервер отдаёт CSS/JS с неправильным MIME-типом, проверьте файл:
/etc/nginx/mime.types
Добавить MIME-тип можно вручную:
text/markdown md;
Логи Nginx
Ошибки и доступы находятся здесь:
/var/log/nginx/access.log
/var/log/nginx/error.log
Пример просмотра ошибок:
tail -f /var/log/nginx/error.log
Типичные ошибки Nginx и решения
1. Ошибка 403 Forbidden
- неверные права:
chmod 755 - неверный владелец:
chown www-data:www-data - отсутствует index-файл в корне сайта
- папка сайта пуста
2. Ошибка 404 Not Found
- неправильный путь в директиве
root; - ошибка в
try_files; - файл реально отсутствует.
3. Ошибка 502 Bad Gateway
Причины:
- неработающий PHP-FPM;
- неверный путь к сокету;
- ошибка в конфигурации fastcgi.
Проверить PHP-FPM:
systemctl status php8.2-fpm
Автозапуск и управление сервисом
sudo systemctl enable nginx
sudo systemctl restart nginx
sudo systemctl stop nginx
sudo systemctl reload nginx
Команда reload подгружает конфигурацию без остановки сервера.
Итоги
- Установили и запустили Nginx.
- Разобрали структуру конфигурации.
- Создали server block и включили сайт.
- Настроили права доступа.
- Разобрали логи и типичные ошибки.
- Проверили MIME-типы и управление сервисом.
Вывод: Nginx — быстрый и гибкий сервер, идеально подходящий для работы на VPS. Зная основы конфигурации, можно легко запускать любые веб-проекты.