WindowsMacПрограммное обес..НастройкиБезопасностьПродуктивностьЛинуксАндроид (Androi.. Все

Как настроить веб-сервер с помощью Nginx на Debian

Отредактировано 3 Несколько недель назад от ExtremeHow Редакционная команда

ДебианNginxВеб-серверВеб-разработкаНастройка сервераЛинуксАдминистрирование системыОткрытый исходный кодКомандная строкаИТ

Как настроить веб-сервер с помощью Nginx на Debian

Перевод обновлен 3 Несколько недель назад

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

Понимание Nginx

Nginx (произносится как «энжин экс») - это программное обеспечение с открытым исходным кодом для веб-обслуживания, обратного проксирования, кэширования, балансировки нагрузки, потоковой передачи мультимедиа и многого другого. Он начался как проект для решения проблемы C10k - обработки десяти тысяч подключений одновременно. Сегодня Nginx популярен благодаря своей производительности и эффективности в управлении высокими нагрузками. Он может выступать в качестве обратного прокси-сервера для протоколов HTTP, HTTPS, SMTP, POP3 и IMAP, балансировщика нагрузки и HTTP-кэша, среди прочего. Будучи программным обеспечением с открытым исходным кодом, он бесплатен для использования и постоянно совершенствуется мировыми участниками.

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

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

Как только вы выполните эти предварительные требования, вы можете приступить к установке и настройке Nginx на вашем сервере Debian.

Шаг 1: Обновите свой сервер

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

sudo apt update sudo apt upgrade

Команда apt update обновляет список пакетов и их доступные версии. Команда apt upgrade обновляет старые пакеты до новых версий.

Шаг 2: Установите Nginx

Пакетный менеджер APT в Debian делает установку программных пакетов, таких как Nginx, легкой. Выполните следующую команду, чтобы установить Nginx:

sudo apt install nginx

Эта команда получит и установит пакет Nginx и его зависимости. После завершения установки Nginx автоматически начнет работать.

Шаг 3: Проверьте установку Nginx

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

sudo systemctl status nginx

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

sudo systemctl start nginx sudo systemctl stop nginx

Доступ к Nginx

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

hostname -I

Когда вы вводите IP-адрес вашего сервера в адресную строку браузера, вы должны увидеть страницу приветствия Nginx по умолчанию. Это подтверждает, что Nginx корректно отображает веб-страницы.

Шаг 4: Настройка firewall

На системах Debian UFW (Uncomplicated Firewall) часто используется как программное обеспечение для управления firewall. Если UFW работает на вашем сервере, необходимо разрешить HTTP-трафик для публичного доступа к вашему веб-серверу через firewall. Вы можете проверить текущий статус UFW следующим образом:

sudo ufw status

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

sudo ufw allow 'Nginx HTTP'

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

sudo ufw status

Шаг 5: Управление службой Nginx

Nginx работает как служба в фоновом режиме. Вы можете управлять этой службой с помощью команды systemctl. Вот несколько полезных команд systemctl для управления Nginx:

Шаг 6: Понимание конфигурации Nginx

Файлы конфигурации Nginx обычно расположены в каталоге /etc/nginx. Основной конфигурационный файл - это /etc/nginx/nginx.conf, который содержит инструкции по управлению модулями, установке прав пользователей и другое.

Часто управление конфигурацией виртуальных хостов осуществляется отдельно в каталоге /etc/nginx/sites-available. Этот каталог содержит конфигурационные файлы для отдельных доменов, которые ссылаются на /etc/nginx/sites-enabled для активации. Вы также можете найти фрагменты конфигурации в /etc/nginx/snippets для многоразовых настроек.

Шаг 7: Настройка server block

Server blocks, эквивалент виртуальных хостов Apache, позволяют Nginx запускать несколько сайтов на одном сервере. Сначала перейдите в /etc/nginx/sites-available/ и создайте новый конфигурационный файл:

sudo nano /etc/nginx/sites-available/example.com

В следующем конфигурационном файле замените "example.com" на ваше доменное имя:

server { listen 80; server_name example.com www.example.com; location / { proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }

С этой настройкой запросы к 'example.com' будут направляться к приложению, работающему на 127.0.0.1:8080. Используйте разумные значения по умолчанию или настройте конфигурацию в соответствии с вашими потребностями.

Шаг 8: Подключение server block через символическую ссылку

Создайте символическую ссылку на ваш конфигурационный файл в sites-enabled:

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

Это действие активирует ваш server block. Проверьте новую конфигурацию, чтобы обнаружить возможные ошибки:

sudo nginx -t

Если ошибок нет, перезапустите Nginx, чтобы применить изменения:

sudo systemctl restart nginx

Шаг 9: Настройка простого HTML-сайта

Вы можете протестировать настройку, создав базовый статический HTML-файл. Создайте новый каталог, который будет действовать как ваш веб-корень:

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

Установите соответствующие разрешения:

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

Создайте простой HTML-файл:

nano /var/www/example.com/html/index.html

Добавьте следующее содержание в index.html:

<!DOCTYPE html> <html> <head> <title>Welcome</title> </head> <body> <h1>Welcome to example.com!</h1> </body> </html>

Перейдите по адресу http://your_server_ip или http://example.com, чтобы просмотреть ваш веб-сайт.

Шаг 10: Реализация безопасности с помощью SSL/TLS

Для защиты вашего веб-сервера рекомендуется внедрить SSL/TLS-сертификат для сайта. Бесплатные SSL-сертификаты можно получить у Let's Encrypt, центра сертификации, предлагающего бесплатные сертификаты с поддержкой автоматизации.

Установите утилиту Certbot и плагин Nginx для поиска и установки SSL-сертификатов:

sudo apt install certbot python3-certbot-nginx

Затем запросите сертификат с помощью Certbot:

sudo certbot --nginx

Certbot запросит необходимую информацию, такую как ваше доменное имя и электронная почта. После успешного завершения Certbot автоматически перезагружает Nginx. Посетите https://example.com, чтобы подтвердить безопасное HTTPS-соединение с иконкой замка.

Автоматическое продление SSL-сертификата

Certbot настраивает системную задачу для автоматического управления продлениями SSL-сертификатов. Вы также можете выполнить ручную проверку продления:

sudo certbot renew --dry-run

Проверьте обновление и убедитесь, что оно выполнено успешно без ошибок.

Заключительные мысли

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

Заключение

Настройка веб-сервера с Nginx на Debian включает в себя определение конфигурации, добавление server blocks и обеспечение безопасности с помощью SSL. Понимание основ установки, конфигурации и управления Nginx закладывает основу для более сложных приложений и развертывания сервисов. Теперь у вас должен быть работающий веб-сервер, готовый обслуживать страницы или приложения с высокой эффективностью.

Если вы найдете что-то неправильное в содержании статьи, вы можете


Комментарии