Как установить серверные блоки Nginx (виртуальные хосты) в CentOS 8

12 set 2022 3 min di lettura
Как установить серверные блоки Nginx (виртуальные хосты) в CentOS 8
Indice dei contenuti

Введение

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

В этой статье описывается, как установить блоки сервера Nginx в CentOS 8.

Предпосылки

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

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

Если вы хотите установить серверные блоки Nginx на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh root@IP_DEL_SERVER

Далее вам нужно будет ввести пароль пользователя root.

Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:

ssh nome_utente@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

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

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

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

/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

В этом руководстве мы используем nano, если вы предпочитаете, вы можете использовать vi, установленный по умолчанию в большинстве дистрибутивов.

sudo dnf install nano

В целях тестирования создайте файл index.html в корне документов домена:

sudo mkdir -p /var/www/example.com/public_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>

Чтобы избежать проблем с авторизацией, измените свойство root документа домена для пользователя nginx:

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

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

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

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

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. Вы должны увидеть html-страницу, созданную ранее.

Вывод

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

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

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.