Install-Nginx-with-Server-Blocks-(Virtual-Hosts)-on-Debian-10

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

Nginx

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

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

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

 

Предпосылки

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

  • активирован минимальный сервера Debian 10;
  • наличие полного доменного имени (Fully Qualified Domain Name) указывающее на сервер;
  • хорошее подключение к интернету.

 

 

В этой статье мы используем домен sedicomm.com, указывающий на систему Debian 10 с IP-адресом 192.168.0.104.

 

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

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

$ sudo apt update -y

 

 

Update-Debian-10-Repository

 

 

Шаг 2: Установка Nginx на Debian 10

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

$ sudo apt install nginx -y

 

 

Install-Nginx-on-Debian-10

 

 

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

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

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

$ systemctl status nginx

 

 

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

Check-Nginx-Status-on-Debian-10

 

 

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

$ systemctl restart nginx

 

 

Для остановки Nginx, введите команду:

$ systemctl stop nginx

 

 

Для запуска веб-сервера, запустите следующую команду:

$ systemctl start nginx

 

 

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

$ systemctl enable nginx

 

 

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

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

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

$ sudo ufw allow 'Nginx HTTP'

 

 

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

$ sudo ufw reload

 

 

Теперь вы можете проверить, что HTTP разрешен через брандмауэр, запустив команду указанную ниже:

$ sudo ufw status

 

 

Open-Nginx-Port-on-Debian-10

 

 

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

 

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

Для получения доступа к веб-серверу через веб-браузер, вам надо просмотреть IP-адрес сервера, как показано на скриншоте ниже:

http://server-IP-address

 

 

Verify-Nginx-Webserver-on-Debian-10

 

 

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

 

Шаг 6: Конфигурирование виртуальных узлов (Virtual Hosts) Nginx в Debian 10

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

Для этого раздела мы будем использовать доменное имя sedicomm.com, чья запись A указывает на IP-адрес сервера 192.168.0.104.

 

Check-Nginx-with-Domain-on-Debian-10

 

 

Создайте виртуальный хост (Virtual Host).

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

$ sudo mkdir -p /var/www/html/sedicomm.com

 

 

Затем назначьте владельца файла, как показано ниже:

$ sudo chown -R $USER:$USER /var/www/html/sedicomm.com

 

 

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

$ sudo chmod -R 755 /var/www/html/tecmint.com

 

 

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

$ sudo vim /var/www/html/tecmint.com/index.html

 

 

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

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

 

 

Сохраните и выйдите из редактора.

Для обслуживания этого контента необходимо создать файл конфигурации виртуального узла. Для этого пропишите следующую команду:

$ vim  /etc/nginx/sites-available/sedicomm.com

 

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

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

root /var/www/html/sedicomm.com;
index index.html index.htm index.nginx-debian.html;

server_name sedicomm.com www.sedicomm.com;

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

 

 

Обязательно обновите доменное имя sedicomm.com на свое собственное доменное имя.

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

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

 

 

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

$ sudo nginx -t

 

Перезапустите Nginx.

$ sudo systemctl restart nginx

 

 

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

Check-Nginx-Server-Block-Website-on-Debian-10

 

 

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

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

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

 

 

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

$ sudo vim /var/log/nginx/error.log

 

 

Итоги

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

 

 

Спасибо за уделенное время на прочтение статьи!

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

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Nginx

Больше похожих постов

Lemp on RHEL8

Как установить LEMP на RHEL 8

238
0
Многие хорошо знают о LAMP, но меньше людей знают о стеке LEMP, который заменяет веб-сервер Apache на облегченный Nginx. Каждый…
lemp on debian10

Как установить LEMP на сервере Debian 10

316
0
Стек «LEMP» представляет собой смесь программного обеспечения с открытым исходным кодом, которое обычно устанавливается на сервере Linux для развертывания динамических…

Как установить Nginx, MariaDB 10, PHP 7 (стек LEMP)

133
0
Стек LEMP — это аббревиатура, представляющая собой группу пакетов (ОС Linux, веб-сервер Nginx, база данных MySQL/MariaDB и язык динамического программирования…

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Most Viewed Posts
Меню