Как настроить блоки сервера Nginx на CentOS 7

Настройка блоков сервера Nginx на CentOS 7

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

В этом руководстве мы объясним, как настроить блоки сервера Nginx на CentOS 7.

Предпосылки

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

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

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

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

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

 /var/www/ ├── example.com │  └── public_html ├── example2.com │  └── public_html ├── example3.com │  └── public_html

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

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

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

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

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

 sudo nano /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 ( nginx ):

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

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

Файлы конфигурации блоков сервера Nginx должны заканчиваться на .conf и храниться в каталоге /etc/nginx/conf.d .

Откройте редактор по вашему выбору и создайте файл конфигурации блока сервера для example.com .

 sudo nano /etc/nginx/conf.d/example.com.conf

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

Скопируйте и вставьте следующий код в файл:

/etc/nginx/conf.d/example.com.conf

 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 ; } }

Сохраните файл и проверьте конфигурацию 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 для размещения нескольких доменов на одном сервере CentOS. Вы можете повторить описанные выше шаги и создать дополнительные серверные блоки для всех своих доменов.

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

Защитите Nginx с помощью Let's Encrypt на CentOS 7

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

nginx centos

Эта публикация является частью серии install-lemp-stack-on-centos-7 .
Другие посты в этой серии:

Не используете CentOS 7?
Выберите другую ОС:
центос 8 дебиан 10 дебиан 9 убунту 18.04 убунту 20.04 убунту 22.04

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

Источник

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

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