Как установить и настроить Nginx на CentOS 7

{title}

При управлении серверами с помощью дистрибутивов CentOS 7 идеально знать все преимущества и широкие возможности, которые мы имеем, когда речь заходит о расширении использования и эксплуатации системы, поскольку благодаря открытому исходному коду мы можем добавлять бесконечные новые приложения или сервисы, которые без сомнения Это очень поможет при работе с CentOS 7.

Одна из возможностей, которую мы, как администраторы или часть ИТ-поддержки, должны добавить к CentOS 7, - это использовать его потенциал для создания прокси-сервера, который расширяет возможности подключения и связи в организации, и это достигается благодаря Nginx.

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

Что такое Nginx?

Nginx [engine x] - это HTTP и обратный прокси-сервер, который может выполнять роли почтового прокси-сервера или TCP / UDP-прокси-сервера, обеспечивая более широкие возможности подключения в организации.

Nginx был написан Игорем Сысоевым в России, где долгое время он успешно работал на популярных российских сайтах, таких как Яндекс, Mail.Ru, VK и Rambler, но в настоящее время Nginx обеспечивает поддержку и безопасность для сайтов, известных как Netflix, Wordpress. com, FastMail.FM.

Все исходные коды и документация Nginx распространяются под лицензией типа BSD.

Поддерживаемые операционные системы

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

  • FreeBSD 3-11 / i386; FreeBSD 5-11 / amd64;
  • Linux 2.2-4 / i386; Linux 2.6-4 / amd64; Linux 3 - 4 / armv6l, armv7l, aarch64, ppc64le;
  • Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v;
  • AIX 7.1 / powerpc;
  • HP-UX 11, 31 / ia64;
  • macOS / ppc, i386;
  • Windows XP - Windows 10, Windows Server 2003-2012.

Особенности Nginx в качестве HTTP-сервера

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

  • Поддержка HTTP / 2 с взвешенными и зависимыми приоритетами.
  • SSL и TLS поддерживают SIN.
  • Ускорена поддержка кэширования серверов FastCGI, uwsgi, SCGI и memcached.
  • Балансировка нагрузки и устойчивость к ошибкам.
  • Модульная архитектура
  • Ускоренный обратный прокси с кешированием.
  • Статический и индексируемый файловый сервер, автоматически индексируется.
  • Он включает в себя фильтры gzip, диапазоны байтов, фрагментированные ответы, XSLT, SSI и фильтр преобразования изображений.
  • совместим с Keep-alive и трубопроводными соединениями.
  • Коды ошибок перенаправления 3xx-5xx.
  • Виртуальные серверы на основе имен и на основе IP.
  • Он включает в себя модуль перезаписи, который изменяет URI с помощью регулярных выражений.
  • Он выполняет разные функции в зависимости от адреса клиента.
  • Контроль доступа на основе IP-адреса клиента по паролю (базовая HTTP-аутентификация).
  • Он имеет методы PUT, DELETE, MKCOL, COPY и MOVE.
  • Допустимые ссылки HTTP.
  • Возможность ограничения количества одновременных подключений или запросов с адреса.
  • Геолокация на основе IP.
  • Включает в себя Perl.
  • Он поддерживает NginScript.

Особенности Nginx в качестве почтового прокси-сервера

  • Поддерживает методы аутентификации POP3: USER / PASS, APOP, AUTH LOGIN / PLAIN / CRAM-MD5, IMAP: LOGIN, AUTH LOGIN / PLAIN / CRAM-MD5, SMTP: AUTH LOGIN / PLAIN / CRAM-MD5.
  • Позволяет перенаправить пользователя на сервер IMAP или POP3 с помощью внешнего HTTP-сервера аутентификации.
  • Поддержка SSL, STARTTLS и STLS.
  • Он позволяет аутентификацию пользователя через внешний HTTP-сервер аутентификации и перенаправляет ее на внутренний SMTP-сервер.

    Особенности Nginx в качестве сервера TCP / UDP

    • Универсальный TCP и UDP прокси.
    • Балансировка нагрузки и отказоустойчивость.
    • Поддержка SSL и TLS SNI для TCP.
    • Геолокация на основе IP.
    • Он выполняет разные функции в зависимости от адреса клиента.
    • Контроль доступа на основе адреса клиента.
    • Поддерживает форматы журналов доступа, запись в буферный журнал, быструю ротацию журналов и запись в системный журнал.

    Дополнительные возможности Nginx

    • Это позволяет реконфигурировать и обновлять исполняемый файл без прерывания обслуживания клиентов.
    • Поддержка kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), / dev / poll (Solaris 7 11/99 +), портов событий (Solaris 10), выбор и опрос.
    • Он поддерживает различные функции kqueue, включая EV_CLEAR.
    • Гибкая конфигурация
    • Принимает фильтры (FreeBSD 4.1+, NetBSD 5.0+) и поддержку TCP_DEFER_ACCEPT (Linux 2.4+).
    • Операции копирования данных сведены к минимуму, чтобы избежать влияния на производительность системы.

      1. Обновление CentOS 7


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

      {title}

      2. Установите Nginx на CentOS 7

      Шаг 1
      После обновления CentOS 7 нам потребуется установить репозитории EPEL для правильной установки Nginx, чтобы установить эти репозитории, мы выполним следующую строку:

       ням установить epel-release 

      {title}

      Шаг 2
      Введите письмо и подтвердите загрузку и установку репозитория EPEL, и после его завершения мы увидим следующее:

      {title}

      Шаг 3
      После этого мы приступаем к установке Nginx, выполнив следующую команду. Мы принимаем загрузку и установку пакетов Nginx.

       ням установить nginx 

      {title}

      3. Управление HTTP-сервером Nginx в CentOS 7

      Шаг 1
      После установки Nginx необходимо выполнить следующие строки:

       systemctl start nginx (запуск службы) systemctl enable nginx (включение службы) systemctl status nginx (статус службы) 

      {title}

      $config[ads_text6] not found

      Как мы видим, Nginx активен и работает.

      4. Настройте брандмауэр для доступа Nginx в CentOS 7

      Следующим шагом является включение доступа Nginx в firewalld, поскольку встроенный межсетевой экран CentOS 7 настроен на блокировку трафика Nginx. Для этого мы должны создать правила, которые включают входящие пакеты в HTTP и HTTPS в CentOS 7, используя следующие строки:

       firewall-cmd --zone = public --permanent --add-service = http firewall-cmd --zone = public --permanent --add-service = https firewall-cmd –reload 

      {title}

      5. Доступ к Nginx в CentOS 7

      $config[ads_text5] not found

      Шаг 1
      Как только разрешения активируются в брандмауэре CentOS 7, мы получим доступ к браузеру и в адресной строке введем следующий синтаксис.

       http: // IP_Server 

      {title}

      Шаг 2
      Как мы видим, Nginx был установлен и настроен правильно. Некоторые из основных каталогов Nginx:

      • Корневой каталог
       / etc / nginx 
      • Конфигурационный файл Nginx
       /etc/nginx/nginx.conf 
      • Конфигурация блока сервера:
       /etc/nginx/conf.d 
      • Каталог документации
         / usr / share / nginx / html 

      Шаг 3
      Вот некоторые параметры, которые мы можем использовать с Nginx:

      • - | -h: Показать справку Nginx.
      • -c файл: использовать альтернативный файл конфигурации.
      • -g директивы: установить глобальные директивы.
      • -p префикс: установите префикс пути nginx, то есть каталог, в котором будут храниться файлы сервера.
      • -q: Подавлять сообщения об ошибках во время тестов.
      • -s signal: послать сигнал ведущему процессу, варианты:
        • Стоп: быстро выключиться.
        • Выход: закройте процесс.
        • Перезагрузить: перезагрузить конфигурацию.
        • Reopen: открыть файлы журнала.
      • -t: проверить конфигурацию файла.
      • -v: показать версию Nginx

      {title}

      Таким образом, мы установили и настроили Nginx в CentOS 7, чтобы максимально использовать возможности сервера и расширить возможности управления.