Установка Nginx + Apache на Debian |
![]() |
Добавил(а) microsin |
В этом руководстве (перевод статьи [1]) мы рассмотрим установку Nginx в качестве промежуточного прокси (reverse proxy) для веб-сервера Apache на операционной системе Debian 11. И Nginx, и Apache это бесплатные и открытые (open-source) программные пакеты, заслужившие мировую популярность. Apache известен как мощный многофункциональный сервер с поддержкой множества web-технологий (PHP, MySQL и т. д), в то время как Nginx отличается высокой скоростью работы и низкими затратами используемых ресурсов сервера. Оба этих пакета могут работать как web-сервер, и у каждого свои достоинства и недостатки. По этой причине их часто используют вместе, соединенными в цепочку. Сервер Nginx работает как внешний web-сервер (frontend), который принимает запросы клиентов, передает их web-серверу Apache (backend), и получает от Apache запрошенный ответ и возвращает этот ответ клиенту. Такая несколько усложненная процедура обработки запроса позволяет строить дополнительные уровни защиты без значительной потери производительности. Чтобы выполнить команды установки из этой статьи, требуются базовые знания Linux (для запуска команд в шелл) и доступ к системе сервера с правами root. Подразумевается, что ваш сайт размещен на выделенном хосте VPS (или VDS). Если у вас нет учетной записи root, то ваша учетная запись должна обладать привилегиями sudo для выполнения команд от имени root. Предварительные требования: • Сервер, работающий на Debian 11 (Bullseye). [Шаг 1: обновление apt] Перед установкой любого программного обеспечения важно убедиться, что ваша система обновлена. Для этого запустите в терминале следующие команды. Префикс sudo в командах указывается для повышения привилегий обычного пользователя, так что если вы зашли под учетной записью root, то команду sudo указывать не надо. $ sudo apt update [Шаг 2: установка Apache] Для установки веб-сервера Apache выполните команду: $ sudo apt install apache2 apache2-utils Проверьте сборку и версию Apache следующей командой: $ apache2 -v Перед началом конфигурирования необходимо убедиться, что службы Apache запущены. Проверка статуса служб Apache: $ sudo systemctl status apache2 Запуск служб Apache: $ sudo systemctl start apache2 [Шаг 3: конфигурирование Apache] Для конфигурирования Apache откройте в текстовом редакторе файл /etc/apache2/ports.conf (файл настройки рабочих портов): $ nano /etc/apache2/ports.conf Найдите строки NameVirtualHost и Listen, и поменяйте их значение, чтобы сервер прослушивал порт 8080 на внутреннем локальном адресе localhost: NameVirtualHost 127.0.0.1:8080 Сохраните и закройте файл /etc/apache2/ports.conf, и затем откройте и отредактируйте файл /etc/apache2/sites-enabled/000-default.conf (файл конфигурации по умолчанию Apache): $ nano /etc/apache2/sites-enabled/000-default.conf Поменяйте порт по умолчанию 80 на 8000, как показано ниже: < VirtualHost *:8000> Сохраните и закройте файл. Затем перезапустите службу Apache, чтобы изменения конфигурации вступили в силу: $ sudo systemctl restart apache2 После успешной установки в браузере по ссылке по IP-адресу вашего сервера можно будет открыть тестовую веб-страничку Apache: http://your-server-ip-address:8000 [Шаг 4: установка Nginx] Для установки Nginx на Debian выполните команду: $ sudo apt install nginx После завершения установки запустите Nginx и разрешите его автоматический запуск при загрузке системы: $ sudo systemctl start nginx Проверьте установку: $ nginx -v [Шаг 5: конфигурирование Nginx] В этом примере Nginx мы сконфигурируем как reverse proxy для передачи через него запросов и ответов сервера Apache. Для этого отредактируйте файл /etc/nginx/sites-enabled/default: $ nano /etc/nginx/sites-enabled/default Вставьте в файл следующий текст: server { listen 80; server_name your-server-ip; location / { Здесь директива listen задает стандартный порт для web-сервера, список index указывает файлы веб-страничек по умолчанию, находящихся в корневом каталоге вашего сервера. Строка server_name задает имя вашего сервера, а your-server-ip это внешний IP-адрес вашего сервера (или зарегистрированное доменное имя). См. также описание настройки сервера Nginx в статье [2]. Сохраните и закройте файл /etc/nginx/sites-enabled/default, и проверьте синтаксис этого файла на наличие ошибок командой: $ nginx -t Если все в порядке и ошибок нет, то перезапустите Nginx: $ sudo systemctl restart nginx Проверить совместную работу Nginx + Apache теперь можно внешним подключением браузера по IP-адресу или доменному имени вашего сервера. Откройте браузер, и введите его строке http://your-server-ip-address (здесь вместо your-server-ip-address укажите IP-адрес или доменное имя сервера). Должна отобразиться тестовая страница веб-сервера Apache. [Ссылки] 1. How To Set Up Nginx as a Reverse Proxy for Apache on Debian 11 site:idroot.us. |