Как настроить Web-сервер Nginx для сайта. Настройка серверных блоков Nginx в CentOS 7.
Как настроить Web-сервер Nginx для сайта. Настройка серверных блоков Nginx в CentOS 7.
How To Set Up Nginx Server Blocks on CentOS 7
Серверные блоки Nginx позволяют запускать более одного веб-сайта на одном компьютере. Это чрезвычайно полезно, поскольку для каждого сайта вы можете указать корневой каталог документа сайта (каталог, содержащий файлы сайта), создать отдельную политику безопасности, использовать разные SSL-сертификаты и многое другое.
В этом руководстве мы объясним, как настроить серверные блоки Nginx в CentOS 7.

- Иметь доменное имя, указывающее на IP вашего публичного сервера. В этом уроке мы будем использовать
example.com
. - Nginx установлен на вашем CentOS системы.
- Вы вошли как пользователь с привилегиями sudo .
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
Скопируйте и вставьте следующий код в файл:
<!DOCTYPE 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
Вы можете назвать конфигурационный файл так, как вам нравится, но обычно лучше использовать доменное имя.
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
в выбранном вами браузере, и вы увидите что-то вроде этого: