Как настроить блоки сервера Nginx в Ubuntu 18.04

Настройка блоков сервера Nginx в Ubuntu 18.04

Nginx Server Blocks позволяет запускать несколько веб-сайтов на одном компьютере. С помощью Server Blocks вы можете указать корневой каталог документов сайта (каталог, содержащий файлы сайта), создать отдельную политику безопасности для каждого сайта, использовать разные SSL-сертификаты для каждого сайта и многое другое.

В этой статье мы предоставим пошаговые инструкции по настройке серверных блоков Nginx (аналогичных виртуальным хостам Apache) в Ubuntu 18.04.

Предпосылки

Прежде чем продолжить изучение руководства, убедитесь, что выполнены следующие предварительные условия:

В некоторых документах Server Blocks называются Virtual host . Виртуальный хост — это термин Apache.

Создать структуру каталогов

Корневой каталог документов — это каталог, в котором хранятся файлы веб-сайта для доменного имени и который обслуживается в ответ на запросы. Вы можете указать любое расположение корневого каталога документов.

Мы будем использовать следующую структуру каталогов:

 /var/www/ ├── domain1.com │  └── public_html ├── domain2.com │  └── public_html ├── domain3.com │  └── public_html

По сути, мы создадим отдельный каталог для каждого домена, который хотим разместить на нашем сервере, внутри каталога /var/www . В каждом из этих каталогов мы создадим каталог public_html , в котором будут храниться файлы сайта домена.

Давайте создадим корневой каталог для нашего домена example.com :

 sudo mkdir -p /var/www/example.com/public_html

Для тестирования мы создадим файл index.html в корневом каталоге документов домена.

Откройте редактор и создайте демонстрационный файл:

/var/www/example.com/public_html/index.html

  < html lang = "en" dir = "ltr" > < head > < meta charset = "utf-8" > < title > Welcome to example.com  title >  head > < body > < h1 > Success! example.com home page!  h1 >  body >  html >

В этом примере мы запускаем команды как пользователь sudo, а вновь созданные файлы и каталоги принадлежат пользователю root.

Чтобы избежать проблем с правами доступа, измените владельца корневого каталога документов домена на пользователя Nginx ( www-data ):

 sudo chown -R www-data: /var/www/example.com

Создать серверный блок

По умолчанию в системах Ubuntu файлы конфигурации блоков сервера Nginx хранятся в каталоге /etc/nginx/sites-available и включаются с помощью символических ссылок на каталог /etc/nginx/sites-enabled/ .

Откройте выбранный вами редактор и создайте следующий файл блока сервера:

/etc/nginx/sites-available/example.com

 server { listen 80 ; listen [::]:80 ; root /var/www/example.com/public_html ; index index.html ; server_name example.com www.example.com ; access_log /var/log/nginx/example.com.access.log ; error_log /var/log/nginx/example.com.error.log ; location / { try_files $uri $uri/ = 404 ; } }

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

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

 sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Проверьте конфигурацию Nginx на правильность синтаксиса:

 sudo nginx -t

Если ошибок нет, вывод будет выглядеть так:

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

Перезапустите службу Nginx , чтобы изменения вступили в силу:

 sudo systemctl restart nginx

Наконец, чтобы убедиться, что блок сервера работает так, как и ожидалось, откройте http://example.com в предпочитаемом вами браузере, и вы увидите что-то вроде этого:

Заключение

Вы узнали, как создать конфигурацию серверных блоков Nginx для размещения нескольких доменов на одном сервере Ubuntu. Вы можете повторить описанные выше шаги и создать дополнительные серверные блоки для всех своих доменов.

Если вы хотите защитить свой веб-сайт с помощью бесплатного SSL-сертификата LetsEncrypt, вы можете ознакомиться со следующим руководством:

Защитите Nginx с помощью Let's Encrypt в Ubuntu 18.04

Если у вас возникли какие-либо проблемы, не стесняйтесь оставлять комментарии.

nginx ubuntu

Эта публикация является частью серии статей «как установить lemp-stack-on-ubuntu-18-04» .
Другие посты в этой серии:

Как установить Nginx в Ubuntu 18.04 29 апреля 2018 г. Как настроить блоки сервера Nginx в Ubuntu 18.04 29 апреля 2018 г. Защитите Nginx с помощью Let's Encrypt в Ubuntu 18.04 29 апреля 2018 г. Как установить MySQL в Ubuntu 18.04 20 июня 2018 г. Как установить PHP в Ubuntu 18.04 1 июля 2018 г. Не используете Ubuntu 18.04?
Выберите другую ОС:
центос 7 центос 8 дебиан 10 дебиан 9 убунту 20.04 убунту 22.04

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *