Шаг 1: Установка Nginx и запуск локального сервера
Устанавливаем Nginx:
sudo apt update
sudo apt install nginx -y
После установки Nginx автоматически запустится.
Чтобы проверить, всё ли работает, откройте браузер и введите
http://localhost. Если вы увидели страницу приветствия Nginx — всё отлично.
Шаг 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 вы должны увидеть вашу страницу:
Победа
Вы создали свой первый сайт на Nginx. Поздравляю.