Купить Корзина
  • Облако и IT-инфраструктура
  • Домены и сайты
  • Вход
Получить консультацию

Ответим на вопросы, расскажем о конфигурациях, поможем с переносом, подберем оборудование, подготовим коммерческое предложение

Нажимая кнопку «Отправить» я даю согласие на обработку персональных данных и подтверждаю, что ознакомился с Политикой конфиденциальности

Персональный менеджер ответит на ваши вопросы и проведет через все этапы заключения договора: — подберет оборудование — сформирует коммерческое предложение — поможет с миграцией сервера к нам

Нажимая кнопку «Отправить» я даю согласие на обработку персональных данных и подтверждаю, что ознакомился с Политикой конфиденциальности

Или просто оставьте номер телефона, и мы перезвоним вам

  • Телефон в Москве

    +7 495 580-11-11
  • Бесплатный звонок по России

    8 800 555-34-78
  • Или обратитесь в наши офисы

    Региональные номера
    1. Документация
    2. Рег.облако
    3. Облачные серверы
    4. Установка программного обеспечения
    5. Как настроить виртуальные хосты Nginx на Ubuntu

    Как настроить виртуальные хосты Nginx на Ubuntu

    В этой инструкции мы рассмотрим настройку виртуальных хостов в Nginx для обслуживания нескольких веб-сайтов одновременно.

    Все действия на сервере осуществляются через подключение по SSH.

    Прежде чем приступить к настройке виртуальных хостов, необходимо настроить сервер.

    Подготовка доменов

    Ваши домены должны быть привязаны к облачному серверу. Сделать это вы можете по инструкции.

    Обратите внимание

    В инструкции приведены примеры с доменом mydomain.ru. В тех местах, где встречается этот домен, замените его своим доменным именем.

    Установка Nginx

    • 1
      Обновите информацию о доступных пакетах с помощью команды sudo apt-get update.
    • 2
      Обновите установленные пакеты, используя команду sudo apt-get upgrade.
    • 3

      Установите Nginx:

      sudo apt -y install nginx
    • 4

      После установки проверьте статус работы Nginx:

      sudo systemctl status nginx

    Если статус inactive (dead), запустите Nginx вручную с помощью команды sudo systemctl start nginx

    Nginx автоматически запускается во время загрузки сервера.

    Чтобы отключить автозапуск, введите:

    sudo systemctl disable nginx

    Чтобы возобновить автозапуск сервиса, введите:

    sudo systemctl enable nginx

    Настройка брандмауэра

    По умолчанию брандмауэр закрывает все неразрешенные входящие подключения, поэтому для корректной работы Nginx необходимо открыть порты.

    Чтобы открыть доступ для подключения к серверу по HTTP, выполните команды:

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    
    sudo iptables-save

    Если вы планируете использовать SSL-сертификат, для подключения по HTTPS выполните команду:

    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    
    sudo iptables-save

    При переходе по IP-адресу вашего сервера откроется страница Nginx:

    Настройка виртуальных хостов

    Настройка директорий

    Прежде чем создать виртуальный хост, нужно создать директорию для сайта, в которой будут размещены все необходимые файлы. По умолчанию в Ubuntu включен один виртуальный хост Nginx, который обслуживает документы из каталога /var/www/html. Чтобы добавить еще один домен, необходимо создать директорию в /var/www.

    • 1

      Создайте директорию для домена:

      sudo mkdir -p /var/www/mydomain.ru/html
    • 2

      Назначьте права на директорию:

      sudo chown -R www-data:www-data /var/www/mydomain.ru/html
      
      sudo chmod 755 /var/www/mydomain.ru

    Cоздание тестовой страницы

    • 1

      Для проверки работы сервиса создайте индексный файл:

      sudo nano /var/www/mydomain.ru/html/index.html
    • 2

      Заполните файл. Пример содержимого:

      <html>
          <head>
              <title>Hello World</title>
          </head>
          <body>
              <h1>Success!</h1>
          </body>
      </html>
    • 3
      Сохраните изменения и закройте файл.

    Настройка конфигурации

    Теперь нужно создать файл конфигурации для виртуального хоста. Он будет содержать всю необходимую для веб-сервера информацию о сайте. В директории /etc/nginx/sites-available есть шаблон для создаваемых конфигураций.

    • 1

      Скопируйте файл конфигурации:

      sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/mydomain.ru
    • 2
      Откройте файл с помощью команды sudo nano /etc/nginx/sites-available/mydomain.ru
    • 3

      В блоке server нужно изменить директиву root, указав путь к файлам сайта, и имя сервера. Пример содержания:

      server {
              listen 80;
              listen [::]:80;
      
              root /var/www/mydomain.ru/html;
              index index.html index.htm index.nginx-debian.html;
              server_name mydomain.ru;
              location / {
                      try_files $uri $uri/ =404;
              }
      }

      В качестве server_name вы также можете задать IP-адрес или несколько имен через пробел, по которым будет доступен хост.

    • 4
      Сохраните изменения и закройте файл.
    • 5

      Чтобы активировать виртуальный хост, нужно создать символическую ссылку между директорией sites-available, где лежит созданный нами файл конфигурации, и sites-enabled, которая читается веб-сервером Nginx во время запуска.

      Создайте символическую ссылку для домена:

      sudo ln -s /etc/nginx/sites-available/mydomain.ru /etc/nginx/sites-enabled/mydomain.ru
    • 6

      Nginx использует хэш-таблицы, чтобы быстро обрабатывать статические данные. Если вы добавляете несколько имен серверов, заданного размера хэша может не хватить и при внесении изменений вы увидите ошибку server_names_hash_bucket_size Для ее предотвращения нужно внести изменения в файл конфигурации Nginx.

      Откройте конфигурационный файл Nginx:

      sudo nano /etc/nginx/nginx.conf
    • 7

      Раскомментируйте строку:

      server_names_hash_bucket_size 64;

      Это увеличит размер хэш-таблиц имен серверов Nginx и позволит сервису обрабатывать все имена серверов.

    • 8
      Сохраните изменения и закройте файл.
    • 9

      Проверьте файл на наличие ошибок:

      sudo nginx -t

      Если все настроено корректно, в строке вывода будет следующее:

      nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
      
      nginx: configuration file /etc/nginx/nginx.conf test is successful
    • 10

      Перезапустите Nginx:

      sudo systemctl restart nginx

    Готово, настройка виртуальных хостов завершена.

    Проверка работы виртуальных хостов

    Если с момента изменения DNS прошло менее 24 часов и домен еще не делегирован, для проверки работоспособности виртуальных хостов настройте файл hosts по инструкции.

    Если вы заранее привязали домен к серверу и делегирование уже произошло, в адресной строке введите http://ваш_домен_или_ip. Если все настроено корректно, в браузере отобразится следующее:

    Готово, файл index.html можно удалить. Далее вы можете загрузить файлы сайта в созданную директорию.

    Специальные предложения
    • Гранты для бизнеса до 500к
    • Скидки на cloud GPU до 50%
    • Скидки на bare-metal с А4000 и А5000
    • Кешбэк 100% на kubernetes
    Рассылка Рег.облака

    Лайфхаки, скидки и новости об IT

    Даю согласие на получение рекламных и информационных материалов

    Продукты и сервисы
    • Облачные серверы
    • Выделенные серверы
    • Базы данных
    • S3 хранилище
    • Кластеры Kubernetes
    • Cloud GPU
    • VPS
    Решения
    • Интернет-магазин в облаке
    • Разработка и тестирование в облаке
    • Удаленный рабочий стол
    • Работа с 1С
    • Корпоративное хранение данных
    • Искусственный интеллект и машинное обучение в облаке
    • Конфигуратор сервера
    • Администрирование серверов
    Техподдержка
    • Создать тикет
    • Документация
    Прочее
    • О компании
    • Партнерская программа
    • Гранты
    • Блог
    • Контакты
    • Отзывы клиентов
    • © ООО «РЕГ.РУ» Нашли опечатку?
      Выделите и нажмите Ctrl+Enter
    • Облачная платформа Рег.ру включена в реестр российского ПО Запись №23682 от 29.08.2024
      • Политика конфиденциальности
      • Политика обработки персональных данных
      • Правила применения рекомендательных технологий
    • 8 800 333-92-23

      Бесплатный звонок по России

      +7 (495) 009‑92‑22

      Телефон в Москве

      • vk
      • telegram
      • moikrug
    • Мы используем cookie и рекомендательные технологии для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера