Поиск по сайту:

Установите Nginx с серверными блоками (виртуальными хостами) в Debian 10


Nginx — очень популярный высокопроизводительный веб-сервер, сочетающий в себе возможности обратного проксирования, балансировки нагрузки, кэширования и многого другого. В зависимости от того, как он настроен, он может действовать как обратный прокси-сервер, а также как балансировщик нагрузки для серверов HTTP/HTTPS.

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

Читайте также: как установить Apache с виртуальными хостами в Debian 10

В этом руководстве мы покажем вам, как установить Nginx с виртуальными хостами для размещения нескольких доменов на сервере Debian 10.

Предварительные условия

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

  1. Экземпляр Debian 10.
  2. Полное доменное имя (FQDN), указывающее на сервер.
  3. В этом руководстве мы используем домен linux-console.net, указывающий на систему Debian 10 с IP-адресом 192.168.0.104.
  4. Хорошее подключение к Интернету.

Шаг 1. Обновите репозиторий пакетов Debian 10.

Прежде всего нам необходимо обновить наш локальный репозиторий пакетов до последних версий. Для этого войдите в систему как обычный пользователь с привилегиями sudo и выполните команду ниже.

sudo apt update -y

Шаг 2. Установите Nginx в Debian 10.

Поскольку Nginx присутствует в репозиториях Debian, мы можем спокойно установить его с помощью менеджера пакетов apt, который поставляется с Debian.

sudo apt install nginx -y

Шаг 3. Проверка статуса веб-сервера Nginx

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

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

systemctl status nginx

Если веб-сервер запущен и работает, вы получите уведомление ниже.

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

systemctl restart nginx

Чтобы остановить Nginx, введите команду.

systemctl stop nginx

Чтобы запустить веб-сервер, запустите.

systemctl start nginx

Чтобы настроить веб-сервер Nginx для запуска при загрузке.

systemctl enable nginx

Читайте также: 10 наиболее часто используемых команд Nginx, которые должен знать каждый пользователь Linux

Шаг 4. Настройте брандмауэр для открытия порта Nginx

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

Для этого выполните команду.

sudo ufw allow 'Nginx HTTP'

Затем перезагрузите брандмауэр, чтобы изменения вступили в силу.

sudo ufw reload

Отлично, теперь вы можете убедиться, что HTTP разрешен через брандмауэр, запустив.

sudo ufw status

Из приведенного выше фрагмента мы ясно видим, что Nginx HTTP разрешен через Брандмауэр UFW.

Шаг 5. Доступ к веб-серверу Nginx

На данный момент мы выполнили базовые настройки для запуска и работы Nginx. Чтобы получить доступ к веб-серверу через веб-браузер, найдите IP-адрес сервера, как показано.

http://server-IP-address

Это подтверждение того, что Nginx запущен и работает.

Шаг 6. Настройка блоков сервера Nginx в Debian 10

Это необязательный шаг, который полезен, если вы хотите разместить несколько доменов на веб-сервере Nginx. Чтобы это работало, вам необходимо, чтобы доменное имя указывало на ваш сервер Debian.

В этом разделе мы будем использовать доменное имя linux-console.net , запись A которого указывает на IP-адрес сервера 192.168.0.104.

Когда вы указываете имя домена на IP-адрес вашего сервера, имя домена вскоре изменится и укажет на ваш веб-сервер, как показано.

Давайте теперь создадим блок сервера.

Во-первых, давайте создадим каталог для нашего домена, как показано.

sudo mkdir -p /var/www/html/linux-console.net

Затем назначьте необходимое владение файлом, как показано.

sudo chown -R $USER:$USER /var/www/html/linux-console.net

Затем назначьте разрешения на чтение и выполнение группе и общедоступным пользователям, как показано.

sudo chmod -R 755 /var/www/html/linux-console.net

Давайте теперь создадим простой пример веб-страницы index.html с помощью текстового редактора vim.

sudo vim /var/www/html/linux-console.net/index.html

Добавьте в файл образец содержимого. Это будет отображаться в браузере.

<html>
    <head>
        <title>Welcome to Linux geeks</title>
    </head>
    <body>
        <h1>Success! Welcome to your new server block on Tecmint Nginx Web Server !</h1>
    </body>
</html>

Сохраняем и выходим из редактора

Для обслуживания этого контента необходимо создать блок сервера.

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

vim  /etc/nginx/sites-available/linux-console.net

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

server {
        listen 80;
        listen [::]:80;

        root /var/www/html/linux-console.net;
        index index.html index.htm index.nginx-debian.html;

        server_name linux-console.net linux-console.net;

        location / {
                try_files $uri $uri/ =404;
        }
}

Обязательно замените имя домена linux-console.net своим собственным доменным именем.

Чтобы активировать или включить файл блокировки сервера, создайте символическую ссылку, как показано.

sudo ln -s /etc/nginx/sites-available/linux-console.net /etc/nginx/sites-enabled/

Чтобы убедиться, что все параметры Nginx настроены правильно, запустите.

sudo nginx -t

Отлично, мы готовы идти! Наконец перезапустите Nginx.

sudo systemctl restart nginx

Зайдите в свой браузер и обновите его, и если все прошло хорошо, браузер должен обслуживать веб-страницу блокировки вашего сервера, как показано.

Шаг 7. Доступ к файлам журналов Nginx

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

sudo vim /var/log/nginx/access.log 

Если вы столкнулись с ошибками на веб-сервере Nginx, проверьте файл на наличие ошибок.

sudo vim /var/log/nginx/error.log
Заключение

В этом руководстве вы узнали, как установить Nginx на свой экземпляр Debian 10 и настроить его для поддержки дополнительных доменов. Мы надеемся, что это руководство оказалось для вас полезным. Ваш отзыв будет оценен..