Установка и настройка nginx и apache на сервере ubuntu

Обновлено: 18.05.2024

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

Благодаря асинхронности, способность обслуживать миллионы пользователей без замедления работы сервера делает его предпочтительным выбором для развертывания своих систем на многих предприятиях. В этом руководстве показано, как легко установить и настроить веб-серверы Nginx. В руководстве используется Ubuntu 18.04 в качестве версии, потому что это LTS; следовательно, он имеет долгосрочную поддержку, которая требуется в производственной среде. Установка и настройка веб-сервера Nginx относительно проста, но включает в себя ряд шагов.

Установка

Эти инструкции были написаны для версии Ubuntu 18.04 LTS, поэтому их нельзя использовать в другой версии Linux, если только там не работают те же самые команды. Рекомендуется устанавливать Nginx в учетной записи обычного пользователя с разрешением sudo, чтобы снизить риск безопасности. Однако в этой статье не показано, как создать учетную запись пользователя, поскольку это не входит в ее задачи.

  1. Перед установкой Nginx обновите информацию о локальном пакете, а затем обновите пакеты с помощью следующих команд. Он обеспечивает получение последней версии Nginx из репозитория (сервера) при использовании команды установки Nginx. Команда Dist-upgrade интеллектуально обрабатывает зависимости, чтобы предотвратить проблемы несовместимости между различными пакетами.
  1. Для установки требуется использовать только 3 основные команды, после чего на сервер устанавливается Nginx. Поскольку в этом руководстве в качестве веб-сервера используется Nginx, файл index.html создается сразу после установки Nginx, и к нему можно получить доступ через внешний IP-адрес сервера.


  1. Несмотря на то, что он установлен, важно убедиться, что служба Nginx автоматически запускает свою собственную, если сервер по какой-либо причине перезапускается. Это можно сделать следующим образом.
  1. Используйте следующие две команды для настройки разрешений файловой системы. Первая команда назначает имя пользователя, вошедшего в систему, разрешению файла. Если это root, то это root, если это пользовательское имя, то его имя. Второй командой устанавливается разрешение файла. Поскольку разрешение для «всех пользователей» установлено на R, файл может быть прочитан кем угодно, что рекомендуется для общедоступных файлов. Стандарты W для разрешения на запись, которое требуется владельцу для внесения изменений в файл, и это удобно, когда файл изменяется с помощью сценария, когда он находится на сервере, например, на панели управления WordPress.


Конфигурация

Установка Nginx проста, как описано выше, но настройка требует больше усилий, а также зависит от требований и среды сервера. В этом руководстве показано, как настроить веб-сервер nginx для одного домена, как настроить основные параметры, как настроить SSL/TLS, который требуется Google для повышения рейтинга веб-сайта, и, наконец, какие команды участвуют в настройке настроить сервер Nginx.


  1. Используйте следующую команду, чтобы открыть файл Nginx по умолчанию с помощью редактора nano. Файл по умолчанию создается автоматически при первой установке Nginx и определяет конфигурацию веб-сервера. Эта конфигурация содержит блок сервера, который выделен для одного доменного имени и обрабатывает запросы к своему домену в соответствии с правилами в пределах его границ. Редактор Nano — это просто консольный редактор, который помогает с легкостью открывать текстовые файлы. Настоятельно рекомендуется использовать лучший редактор, такой как Notepad++ с расширением NppFTP, поскольку он довольно удобен для пользователя по сравнению с консольным текстовым редактором.
  2. Файл конфигурации содержит несколько важных строк, как показано в следующем фрагменте кода.

    • Директива Listen указывает номер порта IP-адреса для прослушивания. Для веб-серверов с шифрованием соединения это 443, а для незашифрованных веб-серверов — 80. Default_server делает его сервером по умолчанию из всех блоков серверов, то есть этот блок сервера выполняется, если поле заголовка запроса не совпадает ни с одним из указанных имена серверов. Полезно фиксировать все запросы к серверу независимо от имени хоста (в данном случае это домен).
    • Имя_сервера указывает имя хоста, обычно это имя домена. Рекомендуется использовать как голые, так и www варианты домена, например…

    server <
    listen 80 default_server ;
    listen [ :: ] : 80 default_server ;
    имя_сервера _ ;
    корень /var/www/html/;
    индекс индекс. php-индекс. html-индекс. хтм ;
    местоположение / <
    try_files $uri $uri / = 404 ;
    >
    >

    1. Рекомендуется перезапустить сервер после первой настройки. Перезапустив службу nginx, также перезагрузите файл конфигурации. Если в файл конфигурации было внесено простое изменение, вместо перезапуска достаточно использовать перезагрузку, чтобы предотвратить разрыв соединения с сервером.
    1. После установки используйте следующую команду, чтобы включить SSL/TLS для указанного доменного имени и его разновидности www. Это должен быть тот же домен, настроенный в вышеупомянутых шагах. Если домен не настроен, убедитесь, что это сделано до этого шага.
    1. Если SSL/TLS был установлен, как указано выше, перезапустите сервер еще раз, чтобы изменения вступили в силу.
    1. Также рекомендуется использовать конфигурацию, указанную на следующем веб-сайте, поскольку она настраивает конфигурацию SSL/TLS в соответствии с указанным требованием. Важными вариантами на следующем веб-сайте являются современные, промежуточные и старые. Современный вариант делает соединение очень безопасным, но за счет совместимости, поэтому сайт не будет загружаться в старых браузерах. Промежуточный вариант уравновешивает совместимость и безопасность, поэтому рекомендуется для большинства веб-сайтов. Старый тип предназначен для устаревших систем. Это не рекомендуется для рабочих сайтов, но для предупреждения пользователей, когда они посещают сайт из старых веб-браузеров, таких как Internet Explorer 5.

    Заключение

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

    Об авторе

    Нукута

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

    Apache и Nginx – два популярных веб-сервера с открытым исходным кодом, которые часто используются с PHP. Может быть полезно запустить их оба на одной виртуальной машине при размещении нескольких веб-сайтов с различными требованиями. Общее решение для запуска двух веб-серверов в одной системе — либо использовать несколько IP-адресов, либо разные номера портов.

    В этом руководстве вы настроите Nginx как в качестве веб-сервера, так и в качестве обратного прокси-сервера для Apache — и все это на одном сервере.

    В зависимости от веб-приложения могут потребоваться изменения кода, чтобы Apache поддерживал обратный прокси-сервер, особенно если настроены сайты SSL. Чтобы избежать этого, вы установите модуль Apache с именем mod_rpaf, который переписывает определенные переменные среды, чтобы казалось, что Apache напрямую обрабатывает запросы от веб-клиентов.

    Мы разместим четыре доменных имени на одном сервере. Две из них будут обслуживаться Nginx: nginx1. your_domain (виртуальный хост по умолчанию) и nginx2. ваш_домен . Остальные два, apache1. ваш_домен и apache2. your_domain будет обслуживаться Apache. Мы также настроим Apache для обслуживания PHP-приложений с использованием PHP-FPM, который обеспечивает лучшую производительность по сравнению с mod_php .

    Предпосылки

    Для выполнения этого руководства вам потребуется следующее:

      настроить, выполнив первоначальную настройку сервера с Ubuntu 20.04, с пользователем без полномочий root и брандмауэром.
    • Четыре полных доменных имени, настроенных так, чтобы они указывали на IP-адрес вашего сервера. См. Шаг 3 в разделе «Как настроить имя хоста с помощью DigitalOcean» для примера того, как это сделать. Если вы размещаете DNS своих доменов в другом месте, вам следует создать соответствующие записи A там.

    Шаг 1 — Установка Apache и PHP-FPM

    Начнем с установки Apache и PHP-FPM.

    В дополнение к Apache и PHP-FPM мы также установим модуль PHP FastCGI Apache, libapache2-mod-fastcgi, для поддержки веб-приложений FastCGI.

    Во-первых, обновите список пакетов, чтобы убедиться, что у вас установлены последние пакеты.

    Затем установите пакеты Apache и PHP-FPM:

    Далее изменим конфигурацию Apache по умолчанию, чтобы использовать PHP-FPM.

    Шаг 2. Настройка Apache и PHP-FPM

    На этом этапе мы изменим номер порта Apache на 8080 и настроим его для работы с PHP-FPM с помощью модуля mod_fastcgi. Переименуйте файл конфигурации Apache ports.conf:

    Создайте новый файл ports.conf с портом, установленным на 8080:

    Примечание. Веб-серверы обычно настроены на прослушивание 127.0.0.1:8080 при настройке обратного прокси-сервера, но это приведет к установке значения переменной среды PHP SERVER_ADDR на петлевой IP-адрес вместо общедоступного IP-адреса сервера. Наша цель — настроить Apache таким образом, чтобы его сайты не видели перед собой обратный прокси. Итак, мы настроим его для прослушивания 8080 на всех IP-адресах.

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

    Отключить виртуальный хост по умолчанию:

    Затем создайте новый файл виртуального хоста, используя существующий сайт по умолчанию:

    Теперь откройте новый файл конфигурации:

    Измените порт прослушивания на 8080 :

    Сохраните файл и активируйте новый файл конфигурации:

    Затем перезагрузите Apache:

    Установите пакет net-tools, содержащий команду netstat:

    Убедитесь, что Apache теперь прослушивает 8080:

    Вывод должен выглядеть, как в следующем примере, когда apache2 прослушивает 8080:

    Убедившись, что Apache прослушивает правильный порт, вы можете настроить поддержку PHP и FastCGI.

    Шаг 3. Настройка Apache для использования mod_fastcgi

    Apache по умолчанию обслуживает PHP-страницы с использованием mod_php, но для работы с PHP-FPM требуется дополнительная настройка.

    Примечание. Если вы пытаетесь выполнить это руководство на существующей установке LAMP с mod_php , сначала отключите ее с помощью sudo a2dismod php7.4 .

    Мы добавим блок конфигурации для mod_fastcgi, который зависит от mod_action. mod_action по умолчанию отключен, поэтому сначала нам нужно его включить:

    Переименуйте существующий файл конфигурации FastCGI:

    Создайте новый файл конфигурации:

    Добавьте в файл следующие директивы для передачи запросов файлов .php в сокет PHP-FPM UNIX:

    Сохраните изменения и выполните проверку конфигурации:

    Примечание. Если вы видите предупреждение Не удалось достоверно определить полное / квалифицированное доменное имя сервера с использованием 127.0.1.1. Установите директиву /'ServerName' глобально/, чтобы подавить это сообщение. , вы можете спокойно игнорировать его на данный момент. Мы настроим имена серверов позже.

    Перезагрузите Apache, пока отображается Syntax OK:

    Теперь давайте убедимся, что мы можем обслуживать PHP из Apache.

    Шаг 4 — Проверка функциональности PHP

    Убедимся, что PHP работает, создав файл phpinfo() и обратившись к нему из веб-браузера.

    Создайте файл /var/www/html/info.php , содержащий вызов функции phpinfo:

    Обратите внимание: если вы выполнили первоначальную настройку сервера в разделе «Предварительные требования», то, скорее всего, вы включили брандмауэр Apache. Давайте продолжим и убедимся, что мы можем получить доступ к нашему IP через порт 8080, который в настоящее время недоступен. Мы ограничим общий доступ к этому порту на шаге 10.

    Сначала разрешите порт 8080 через брандмауэр:

    Поскольку мы собираемся защитить наши домены Apache, давайте продолжим и удостоверимся, что трафик TLS через порт 443 может входить.

    Разрешить Apache Full разрешать трафик через порты 80 и 443:

    Теперь проверьте состояние брандмауэра:

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

    Вы увидите, что порт 8080 и Apache Full разрешены вместе с любыми другими правилами брандмауэра. Теперь давайте просмотрим нашу страницу info.php.

    API сервера phpinfo

    phpinfo Переменные PHP

    В верхней части страницы убедитесь, что в Server API указано FPM/FastCGI. Примерно на двух третях пути вниз по странице в разделе «Переменные PHP» будет указано, что SERVER_SOFTWARE — это Apache в Ubuntu. Это подтверждает, что mod_fastcgi активен и Apache использует PHP-FPM для обработки файлов PHP.

    Шаг 5 — Создание виртуальных хостов для Apache

    Давайте создадим файлы виртуального хоста Apache для доменов apache1. ваш_домен и apache2. ваш_домен . Для этого мы сначала создадим корневые каталоги документов для обоих сайтов и поместим в эти каталоги несколько файлов по умолчанию, чтобы мы могли легко протестировать нашу конфигурацию.

    Сначала создайте корневые каталоги документов:

    Затем создайте индексный файл для каждого сайта:

    Затем создайте файл phpinfo() для каждого сайта, чтобы мы могли проверить правильность настройки PHP.

    Теперь создайте файл виртуального хоста для apache1. ваш_домен :

    Добавьте в файл следующий код, чтобы определить хост:

    Строка AllowOverride All включает поддержку .htaccess.

    Это только самые основные директивы. Полное руководство по настройке виртуальных хостов в Apache см. в разделе Как настроить виртуальные хосты Apache в Ubuntu 18.04.

    Сохраните и закройте файл. Затем создайте аналогичную конфигурацию для apache2. ваш_домен . Сначала создайте файл:

    Затем добавьте конфигурацию в файл:

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

    Теперь, когда оба виртуальных хоста Apache настроены, включите сайты с помощью команды a2ensite. Это создает символическую ссылку на файл виртуального хоста в каталоге с поддержкой сайтов:

    Проверьте Apache на наличие ошибок конфигурации еще раз:

    Если ошибок нет, отобразится сообщение Syntax OK. Если вы видите что-то еще, проверьте конфигурацию и повторите попытку.

    Перезагрузите Apache, чтобы изменения вступили в силу после исправления ошибок в конфигурации:

    Вы увидите следующие результаты:

    страница индекса apache1

    страница индекса apache2

    Вы увидите тот же список спецификаций конфигурации PHP на каждом сайте, что и на шаге 4.

    Теперь у нас есть два веб-сайта, размещенных на Apache через порт 8080 . Далее настроим Nginx.

    Шаг 6 — Установка и настройка Nginx

    На этом шаге мы установим Nginx и настроим домены nginx1. ваш_домен и nginx2. your_domain в качестве виртуальных хостов Nginx. Полное руководство по настройке виртуальных хостов в Nginx см. в разделе Как настроить серверные блоки Nginx (виртуальные хосты) в Ubuntu 20.04.

    Установите Nginx с помощью диспетчера пакетов apt:

    Позже мы создадим собственный сайт по умолчанию ( nginx1. your_domain ).

    Теперь мы создадим виртуальные хосты для Nginx, используя ту же процедуру, что и для Apache. Сначала создайте корневые каталоги документов для обоих веб-сайтов:

    Мы будем хранить веб-сайты Nginx в /usr/share/nginx , где они нужны Nginx по умолчанию. Вы можете поместить их в /var/www/html с сайтами Apache, но это разделение может помочь вам связать сайты с Nginx.

    Как и в случае с виртуальными хостами Apache, создайте файлы index и phpinfo() для тестирования после завершения установки:

    Теперь создайте файл виртуального хоста для домена nginx1. ваш_домен :

    Сохраните и закройте файл. Теперь создайте файл виртуального хоста для второго домена Nginx, nginx2. ваш_домен :

    Добавьте в файл следующее:

    Сохраните и закройте файл.

    Включите оба сайта, создав символические ссылки на каталог с поддержкой сайтов:

    Проверьте конфигурацию Nginx, чтобы убедиться в отсутствии проблем с конфигурацией:

    Затем перезагрузите Nginx, если ошибок нет:

    [“SERVER_SOFTWARE”] должно быть написано nginx , что указывает на то, что файлы обслуживались непосредственно Nginx. ["DOCUMENT_ROOT"] должен указывать на каталог, который вы создали ранее на этом шаге для каждого сайта Nginx.

    На данный момент мы установили Nginx и создали два виртуальных хоста. Далее мы настроим Nginx для прокси-запросов, предназначенных для доменов, размещенных на Apache.

    Шаг 7. Настройка Nginx для виртуальных хостов Apache

    Давайте создадим дополнительный виртуальный хост Nginx с несколькими доменными именами в директивах server_name. Запросы на эти доменные имена будут передаваться через прокси в Apache.

    Создайте новый файл виртуального хоста Nginx для пересылки запросов в Apache:

    Добавьте следующий блок кода; он указывает имена обоих доменов виртуальных хостов Apache и проксирует их запросы к Apache. Не забудьте использовать общедоступный IP-адрес в proxy_pass :

    Сохраните файл и включите этот новый виртуальный хост, создав символическую ссылку:

    Проверьте конфигурацию, чтобы убедиться в отсутствии ошибок:

    Если ошибок нет, перезагрузите Nginx:

    Мы успешно настроили Nginx для прокси-запросов определенных доменов к Apache. Затем давайте настроим Apache для установки переменной REMOTE_ADDR, как если бы он обрабатывал эти запросы напрямую.

    Шаг 8 — Установка и настройка mod_rpaf

    Перейдите в свой домашний каталог и установите пакеты, необходимые для сборки модуля:

    Загрузите последнюю стабильную версию с GitHub:

    Извлеките загруженный файл:

    Перейдите в новый каталог, содержащий файлы:

    Скомпилируйте и установите модуль:

    Далее создайте файл в каталоге, доступном для модов, который будет загружать модуль rpaf:

    Добавьте в файл следующий код для загрузки модуля:

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

    Создайте в этом каталоге еще один файл с именем rpaf.conf, который будет содержать директивы конфигурации для mod_rpaf:

    Добавьте следующий блок кода для настройки mod_rpaf , обязательно указав IP-адрес вашего сервера:

    Вот краткое описание каждой директивы. Дополнительные сведения см. в файле README mod_rpaf.

    Сохраните rpaf.conf и включите модуль:

    Это создает символические ссылки на файлы rpaf.load и rpaf.conf в каталоге с поддержкой модов. Теперь проведите тест конфигурации:

    Перезагрузите Apache, если ошибок нет:

    Теперь давайте настроим шифрование TLS/SSL для каждого сайта.

    Сначала мы отделим сервер <. >блокирует оба домена, чтобы каждый из них мог иметь свои собственные SSL-сертификаты. Откройте файл /etc/nginx/sites-available/apache в вашем редакторе:

    Измените файл, чтобы он выглядел так, с помощью apache1. ваш_домен и apache2. your_domain в собственных блоках серверов:

    Мы будем использовать Certbot для создания сертификатов TLS/SSL. Его подключаемый модуль Nginx позаботится о перенастройке Nginx и перезагрузке конфигурации при необходимости.

    Установите certbot с помощью snapd

    Эта команда указывает Certbot использовать подключаемый модуль nginx, используя -d для указания имен, для которых мы хотим, чтобы сертификат был действительным.

    Теперь выполните команду для второго домена:

    Теперь отключим прямой доступ к Apache.

    Шаг 10. Блокировка прямого доступа к Apache (необязательно)

    Поскольку Apache прослушивает порт 8080 общедоступного IP-адреса, он доступен всем. Его можно заблокировать, введя следующую команду IPtables в набор правил брандмауэра.

    В браузере должно отображаться сообщение об ошибке "Не удается подключиться" или "Веб-страница недоступна". С опцией tcp-reset в IPtables посторонний человек не увидит разницы между портом 8080 и портом, на котором нет никаких служб.

    Примечание. По умолчанию правила IPtables не сохраняются после перезагрузки системы. Существует несколько способов сохранить правила IPtables, но самый простой — использовать iptables-persistent в репозитории Ubuntu. Изучите эту статью, чтобы узнать больше о настройке IPTables.

    Теперь давайте настроим Nginx для обслуживания статических файлов для сайтов Apache.

    Шаг 11 — Обслуживание статических файлов с помощью Nginx (необязательно)

    Когда Nginx проксирует запросы для доменов Apache, он отправляет каждый запрос файла для этого домена в Apache. Nginx быстрее, чем Apache, обслуживает статические файлы, такие как изображения, JavaScript и таблицы стилей. Итак, давайте настроим файл виртуального хоста apache Nginx для прямого обслуживания статических файлов, но отправки PHP-запросов на Apache.

    Откройте файл /etc/nginx/sites-available/apache в вашем редакторе:

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

    Если вы решили не использовать сертификаты SSL и TLS, измените свой файл, чтобы он выглядел следующим образом:

    Директива try_files заставляет Nginx искать файлы в корне документа и напрямую их обслуживать. Если файл имеет расширение .php, запрос передается Apache. Даже если файл не найден в корне документа, запрос передается Apache, чтобы такие функции приложения, как постоянные ссылки, работали без проблем.

    Предупреждение: директива location ~ /\.ht очень важна; это не позволяет Nginx обслуживать содержимое файлов конфигурации Apache, таких как .htaccess и .htpasswd , которые содержат конфиденциальную информацию.

    Сохраните файл и выполните проверку конфигурации:

    Перезагрузите Nginx, если проверка прошла успешно:

    Чтобы убедиться, что все работает, вы можете просмотреть файлы журналов Apache в /var/log/apache2 и просмотреть запросы GET для файлов info.php apache2. ваш_домен и apache1. ваш_домен . Используйте команду tail, чтобы увидеть несколько последних строк файла, и используйте переключатель -f, чтобы просмотреть файл на наличие изменений:

    Теперь посетите apache1. ваш_домен /info.php или apache2. your_domain /info.php в вашем браузере, а затем посмотрите на вывод журнала. Вы увидите, что Apache действительно отвечает (ваш порт будет 80 или 443 в зависимости от того, защитили ли вы экземпляр):

    Затем посетите страницу index.html для каждого сайта, и вы не увидите никаких записей в журнале от Apache. Их обслуживает Nginx.

    Когда вы закончите просматривать файл журнала, нажмите CTRL+C, чтобы остановить его.

    При такой настройке Apache не сможет ограничивать доступ к статическим файлам. Контроль доступа к статическим файлам необходимо будет настроить в файле виртуального хоста apache Nginx, но это выходит за рамки данного руководства.

    Заключение

    Теперь у вас есть один сервер Ubuntu с Nginx, обслуживающий nginx1. ваш_домен и nginx2. your_domain вместе с Apache, обслуживающим apache1. ваш_домен и apache2. ваш_домен . Хотя Nginx выступает в качестве обратного прокси-сервера для Apache, прокси-служба Nginx является прозрачной, и кажется, что соединения с доменами Apache обслуживаются непосредственно из самого Apache. Вы можете использовать этот метод для обслуживания безопасных и статических сайтов.

    Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!

    Присоединяйтесь к нашему сообществу DigitalOcean, насчитывающему более миллиона разработчиков, бесплатно! Получайте помощь и делитесь знаниями в нашем разделе "Вопросы и ответы", находите руководства и инструменты, которые помогут вам расти как разработчику и масштабировать свой проект или бизнес, а также подписывайтесь на интересующие вас темы.


    Nginx и Apache являются бесплатными, с открытым исходным кодом и считаются одними из самых популярных веб-серверов в мире.
    Если мы объединим оба сервера, мы получим лучший результат для наших служб. Nginx обычно быстрее, чем Apache, а Apache хорошо известен своими мощными функциями.

    В сегодняшнем руководстве вы узнаете, как настроить Nginx в качестве обратного прокси-сервера для Apache с использованием ОС Debian 11. Обязательно следуйте официальной документации, если тем временем возникнут какие-либо проблемы.

    • Сервер под управлением Debian 11
    • Корневой доступ к серверу

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

    После обновления системы необходимо установить зависимости:
    apt-get install gnupg2 curl -y

    В этой части мы приступим к установке и настройке Apache для работы на порту 8000. Прежде всего, вам необходимо установить его с помощью этой команды:
    apt-get install apache2 -y

    После установки необходимо изменить порт с 80 на 8000 в следующих файлах:
    nano /etc/apache2/ports.conf
    От: Listen 80
    Кому: Listen 8000

    nano /etc/apache2/sites-enabled/000-default.conf
    От: 80
    До: 8000

    Теперь мы перезапустим apache, чтобы применить изменения:

    systemctl перезапустить apache2

    Теперь, поскольку наш Apache уже запущен и работает на порту 8000, нам нужно настроить Nginx в качестве обратного прокси-сервера для работы на порту 80 и проксирования трафика на порт 8000. Прежде всего, давайте установим Nginx с помощью :
    apt-get install nginx -y

    После завершения установки нам нужно очистить виртуальный хост по умолчанию, чтобы вы могли выполнить эту команду:
    echo "" > /etc/nginx/sites-enabled/default

    После этого просто откройте его и вставьте этот контент, чтобы перенаправить доступ с порта 80 (Nginx)
    на 8000 (Apache2):

    Затем просто сохраните файл и проверьте Nginx на наличие синтаксических ошибок с помощью этой команды:
    nginx -t

    Далее просто перезагрузите службу Nginx, чтобы применить наши изменения:
    systemctl перезапустить nginx

    Теперь, как только вы получите доступ к своему IP-адресу, вы получите доступ к своему Nginx и прокси-серверу к службе Apache2.

    И все. Вы успешно установили Nginx в качестве обратного прокси для Apache на Debian 11. Конечно, если у вас есть какой-либо Linux VPS-хостинг, вам не нужно выполнять эту установку. Наши администраторы доступны 24/7/365, чтобы помочь вам с этими шагами.

    установка nginx в качестве обратного прокси-сервера для apache в Debian 11

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

    Джек Уоллен проведет вас через процесс настройки NGINX таким образом, чтобы он направлял входящий трафик порта 80 на Apache, прослушивая порт 8080.


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

    Что, если я скажу вам, что вы можете получить лучшее из обоих миров? Скорость NGINX и мощь Apache.

    Нетворкинг: обязательно к прочтению

    Это можно сделать, настроив NGINX в качестве обратного прокси-сервера для Apache. При такой настройке NGINX будет прослушивать все входящие запросы на порт 80 и передавать их Apache, который прослушивает порт 8080.

    Я покажу вам, как это сделать в Ubuntu Server 20.04. Я продемонстрирую очень простую настройку.

    SEE: команды управления службами Linux (TechRepublic Premium)

    Что вам понадобится

    • Работающий экземпляр Ubuntu Server 20.04
    • Пользователь с правами sudo

    Как установить и настроить Apache

    Первое, что мы сделаем, это установим и настроим Apache. Чтобы установить веб-сервер, войдите в Ubuntu и введите команду:

    sudo apt-get установить apache2 -y

    После установки сервера вам необходимо настроить его для прослушивания порта 8080 (вместо порта 80 по умолчанию). Для этого введите команду:

    sudo nano /etc/apache2/ports.conf

    В этом файле найдите строку:

    Измените эту строку на:

    Сохраните и закройте файл.

    Теперь вы можете запустить и включить Apache с помощью команд:

    sudo systemctl запустить apache2
    sudo systemctl включить apache2

    Как установить и настроить NGINX

    Теперь мы можем установить NGINX с помощью команды:

    sudo apt-get install nginx -y

    После установки NGINX мы создадим конфигурацию прокси с помощью команды:

    sudo nano /etc/nginx/conf.d/proxy.conf

    В этот файл вставьте следующее:

    Где SERVER — это IP-адрес вашего хостинг-сервера. Сохраните и закройте файл.

    Запустите и включите NGINX с помощью команд:

    sudo systemctl запустить nginx
    sudo systemctl включить nginx

    Создайте тестовый файл HTML с помощью команды:

    sudo nano /var/www/html/test.html

    В этот файл вставьте следующее:

    через NGINX

    Сохраните и закройте файл.

    Рисунок А


    Наша страница test.html во всей своей красе, обслуживаемая Apache через порт 8080.

    Это все, что нужно для настройки базового обратного прокси-сервера NGINX для Apache.

    Человек, использующий портативный компьютер». /><br /></p>
<h3>Еженедельный бюллетень с открытым исходным кодом</h3>
<p>Не пропустите наши советы, руководства и комментарии по ОС Linux и приложениям с открытым исходным кодом.</p>
<p>Опубликовано: 25 февраля 2021 г., 8:53 по тихоокеанскому времени. Изменено: 25 февраля 2021 г., 7:23 по тихоокеанскому стандартному времени. Подробнее о сетях</p>
<h3>См. также</h3>
<ul>
  <li>Как стать сетевым администратором: шпаргалка (TechRepublic)</li>
  <li>5G: что это значит для IoT (бесплатный PDF) (TechRepublic)</li>
  <li>Политика сетевой безопасности (TechRepublic Premium)</li>
  <li>Что такое SDN? Как программно определяемые сети изменили все (ZDNet)</li>
  <li>5G: дополнительные статьи, обязательные к прочтению (TechRepublic на Flipboard)</li>
</ul>
<h2>Информация об учетной записи</h2>
<h2>Поделитесь с друзьями</h2>
<p>Как использовать NGINX в качестве обратного прокси-сервера для Apache</p>
<h2>Информация об учетной записи</h2>
<h2>Связаться с Джеком Уолленом</h2>
<h2>Выбор редакции</h2>
<p><img class=
    < /p>

    Редакционный календарь TechRepublic Premium: ИТ-политики, контрольные списки, наборы инструментов и исследования для загрузки

    Контент TechRepublic Premium поможет вам решить самые сложные проблемы с ИТ и начать карьеру или начать новый проект.

    Опубликовано: 4 марта 2022 г., 1:30 по тихоокеанскому стандартному времени. Изменено: 16 марта 2022 г., 18:54 по тихоокеанскому времени. Подробнее Подробнее Подробнее TechRepublic Premium


    < /p>

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

    Антивирусное программное обеспечение защищает ваши данные от киберпреступников, программ-вымогателей и вредоносных программ. Сравните лучшее программное обеспечение прямо сейчас.

    Опубликовано: 8 марта 2022 г., 12:19 по тихоокеанскому времени. Изменено: 15 марта 2022 г., 15:01 по тихоокеанскому времени. Подробнее Подробнее о безопасности


    < /p>

    Изображение: Adobe Stock/k_e_n

    Как вторжение России в Украину повлияет на вашу кибербезопасность

    Ожидается, что конфликт, которого мы все боялись, приведет к увеличению числа кибератак, но эксперты сходятся во мнении, что надежда еще не потеряна.

    Опубликовано: 25 февраля 2022 г., 11:02 по тихоокеанскому времени. Изменено: 25 февраля 2022 г., 11:02 по тихоокеанскому стандартному времени. Подробнее Подробнее о безопасности

    Защита паролем концепция

    Изображение: Даниэль Четрони/Shutterstock

    По словам Hive Systems, достижения в технологии обработки графики сократили время, необходимое для взлома пароля с использованием методов грубой силы.

    Опубликовано: 7 марта 2022 г., 8:24 по тихоокеанскому времени. Изменено: 7 марта 2022 г., 8:24 по тихоокеанскому стандартному времени. Подробнее Подробнее о безопасности

    remote-worker-project-planning-decision-making-desk.jpg

    Лучшее программное обеспечение и инструменты для управления проектами 2022 года

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

    Опубликовано: 11 марта 2022 г., 7:10 по тихоокеанскому времени. Изменено: 15 марта 2022 г., 14:59 по тихоокеанскому времени.

    Лучшие альтернативы Power BI: сравнение с конкурентами Power BI

    Бизнес-аналитика определяет решения, которые позволяют компаниям процветать, и Microsoft Power BI – популярный инструмент для этой работы, но стоит рассмотреть альтернативы. Посмотрите, что может предложить пространство бизнес-аналитики.

    Опубликовано: 15 марта 2022 г., 13:30 по тихоокеанскому времени. Изменено: 15 марта 2022 г., 14:48 по тихоокеанскому времени. Подробнее Подробнее Подробнее о больших данных

    Премиум TechRepublic

    Как нанять финтех-инженера

    Этот набор для найма от TechRepublic Premium содержит описание работы, примеры вопросов для собеседования и основное объявление о поиске, которое поможет вам найти, провести собеседование, нанять и нанять лучших кандидатов на открытую вакансию FinTech Engineer. Из предисловия к набору для найма: За последнее десятилетие или около того, особенно после повсеместного распространения смартфонов в домене .

    Опубликовано: 17 марта 2022 г., 17:00 по тихоокеанскому времени. Изменено: 19 марта 2022 г., 9:56 по тихоокеанскому времени. Подробнее Подробнее Подробнее см. TechRepublic Premium

    Комплект для найма: Дизайнер виртуальной реальности

    Этот набор для найма от TechRepublic Premium содержит описание работы, примеры вопросов для собеседования и базовое объявление о поиске, которое поможет вам найти, провести собеседование, нанять и нанять лучших кандидатов на открытую вакансию дизайнера виртуальной реальности. Из предисловия к набору для найма: хотя концепция приложений виртуальной и дополненной реальности существует уже несколько десятилетий, .

    Опубликовано: 10 марта 2022 г., 16:00 по тихоокеанскому времени. Изменено: 12 марта 2022 г., 12:00 по тихоокеанскому стандартному времени.

    Контрольный список: развертывание приложений и служб Microsoft 365 на компьютерах Mac

    Очень важно правильно спланировать развертывание приложений и служб Microsoft 365 на компьютерах Mac, чтобы не раздражать конечных пользователей. Необходимо учитывать так много элементов, что дальновидным ИТ-специалистам следует рассмотреть возможность использования контрольного списка. При правильном администрировании ИТ-отделы могут гарантировать, что важные задачи не будут упущены из виду, а пользователям не нужно возвращать системы в службу поддержки.

    Опубликовано: 23 февраля 2022 г., 16:00 по тихоокеанскому времени. Изменено: 24 февраля 2022 г., 21:00 по тихоокеанскому стандартному времени. Подробнее Подробнее Подробнее TechRepublic Premium

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

    Результаты последнего опроса TechRepublic Premium показывают, что предприятия продолжают развертывать мультиоблачные решения, но ИТ-специалисты, которые их поддерживают, не знают, как они изменятся в будущем. Из введения: На пороге третьего года глобальной пандемии COVID-19 отрасли, предприятия, потребители и поддерживающие их специалисты в области информационных технологий .

    Опубликовано: 17 февраля 2022 г., 16:00 по тихоокеанскому времени. Изменено: 19 февраля 2022 г., 5:00 по тихоокеанскому стандартному времени. Подробнее Подробнее Подробнее TechRepublic Premium

    Читайте также: