Nginx — популярный веб‑сервер и reverse proxy. В этом посте разберём установку, запуск, базовую настройку и проверку.
1) Установка пакета
Обновите индекс пакетов и установите Nginx:
sudo apt update
sudo apt install -y nginx
Проверить, что пакет установлен:
nginx -v
2) Запуск и автозапуск (systemd)
Включите сервис и запустите его:
sudo systemctl enable nginx
sudo systemctl start nginx
Проверка статуса:
sudo systemctl status nginx --no-pager
3) Firewall (если используется UFW)
Разрешите HTTP/HTTPS:
sudo ufw allow 'Nginx Full'
sudo ufw status
4) Проверка, что всё работает
Откройте в браузере IP сервера:
Или проверьте через curl:
curl -I <http://127.0.0.1>
Ожидаемый ответ — HTTP/1.1 200 OK (или редирект).
5) Где лежат конфиги и как устроена структура
На Ubuntu/Debian основные пути такие:
/etc/nginx/nginx.conf— главный конфиг/etc/nginx/sites-available/— доступные сайты/etc/nginx/sites-enabled/— включённые сайты (обычно через симлинк)/var/www/html— дефолтная директория сайта
Перед применением изменений всегда проверяйте конфиг:
sudo nginx -t
И перезагружайте без “падения” соединений:
sudo systemctl reload nginx
6) Пример простого server block (виртуальный хост)
Создайте конфиг сайта:
sudo nano /etc/nginx/sites-available/example.conf
Вставьте:
server {
listen 80;
server_name [example.com](<http://example.com>) [www.example.com](<http://www.example.com>);
root /var/www/example;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Создайте директорию и тестовую страницу:
sudo mkdir -p /var/www/example
echo "OK" | sudo tee /var/www/example/index.html
Включите сайт:
sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
7) Быстрый troubleshooting
- Смотрим логи:
/var/log/nginx/access.log/var/log/nginx/error.log
- Проверяем, что порт слушается:
sudo ss -lntp | grep -E ':80|:443'
- Проверяем конфиг:
sudo nginx -t