Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление


Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) с подключенным расширенным (extended) репозиторием
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7) с подключенным расширенным (extended) репозиторием


Аннотация

В данной статье представлена инструкция по установке web-сервера NGINX. Web-сервера NGINX (пакет nginx) доступен в составе расширенного репозитория Astra Linux Special Edition x.7 (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования).

Что такое NGINX
Предупреждение
Раскрыть

NGINX (читается [engine x]) — это HTTP-сервер и обратный прокси-сервер, почтовый прокси-сервер, а также TCP/UDP прокси-сервер общего назначения, выполняющий следующие функции:

  • Основная функциональность HTTP-сервера:
    • Обслуживание статических запросов, индексных файлов, автоматическое создание списка файлов, кэш дескрипторов открытых файлов;
    • Акселерированное обратное проксирование с кэшированием, распределение нагрузки и отказоустойчивость;
    • Акселерированная поддержка FastCGI, uwsgi, SCGI и memcached серверов с кэшированием, распределение нагрузки и отказоустойчивость;
    • Модульность;
    • Фильтры, в том числе сжатие (gzip), byte-ranges (докачка), chunked ответы, XSLT-фильтр, SSI-фильтр, преобразование изображений; параллельная обработка подзапросов на одной странице в SSI-фильтре через прокси или FastCGI/uwsgi/SCGI;
    • Поддержка SSL и расширения TLS SNI;
    • Поддержка HTTP/2 с приоретизацией на основе весов и зависимостей;
  • Расширенная функциональности HTTP-сервера;
    • Виртуальные серверы, определяемые по IP-адресу и имени;
    • Поддержка keep-alive и pipelined соединений;
    • Настройка форматов журналов, буферизованная запись в журналы, быстрая ротация журналов, запись журналов в syslog;
    • Специальные страницы для ошибок 3xx-5xx;
    • rewrite-модуль: изменение URI с помощью регулярных выражений;
    • Выполнение разных функций в зависимости от адреса клиента;
    • Ограничение доступа в зависимости от адреса клиента, по паролю (HTTP Basic аутентификация) и по результату подзапроса;
    • Проверка HTTP referer;
    • Методы PUT, DELETE, MKCOL, COPY и MOVE;
    • FLV и MP4 стриминг;
    • Возможность ограничения скорости отдачи ответов;
    • Возможность ограничение числа одновременных соединений и запросов с одного адреса;
    • Геолокация по IP-адресу;
    • A/B-тестирование;
    • Зеркалирование запросов;
    • Встроенный Perl;
    • Сценарный язык njs;
  • Функциональность почтового прокси-сервера:
    • Перенаправление пользователей на IMAP- или POP3-серверы с использованием внешнего HTTP-сервера аутентификации;
    • Аутентификация пользователей с помощью внешнего HTTP-сервера аутентификации и перенаправление соединения на внутренний SMTP-сервер;
    • Поддерживаемые методы аутентификации:
      • POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
      • IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
      • SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;
    • Поддержка протоколов SSL, STARTTLS, STLS.
  • Функциональность TCP/UDP прокси-сервера:
    • Проксирование TCP и UDP;
    • Поддержка SSL и расширения TLS SNI для TCP;
    • Распределение нагрузки и отказоустойчивость;
    • Ограничение доступа в зависимости от адреса клиента;
    • Выполнение разных функций в зависимости от адреса клиента;
    • Ограничение числа одновременных соединений с одного адреса;
    • Настройка форматов журналов, буферизованная запись в журналы, быстрая ротация журналов, запись журналов в syslog;
    • Геолокация по IP-адресу;
    • A/B-тестирование;
    • Сценарный язык njs;
  • Архитектура и масштабируемость:
    • Один главный и несколько рабочих процессов, рабочие процессы работают под непривилегированным пользователем;
    • Изменение настроек и обновление исполняемого файла без перерыва в обслуживании клиентов;
    • Поддержка kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), /dev/poll (Solaris 7 11/99+), event ports (Solaris 10), select и poll:
      • Использование возможностей, предоставляемых kqueue, таких как EV_CLEAR, EV_DISABLE (для временного выключения события), NOTE_LOWAT, EV_EOF, число доступных данных, коды ошибок;
      • Использование возможностей, предоставляемых epoll, таких как EPOLLRDHUP (Linux 2.6.17+, glibc 2.8+) и EPOLLEXCLUSIVE (Linux 4.5+, glibc 2.24+);
    • Поддержка sendfile (FreeBSD 3.1+, Linux 2.2+, macOS 10.5+), sendfile64 (Linux 2.4.21+) и sendfilev (Solaris 8 7/01+);
    • Поддержка файлового AIO (FreeBSD 4.3+, Linux 2.6.22+);
    • Поддержка DIRECTIO (FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, macOS);
    • Поддержка accept-фильтров (FreeBSD 4.1+, NetBSD 5.0+) и TCP_DEFER_ACCEPT (Linux 2.4+);
    • На 10 000 неактивных HTTP keep-alive соединений расходуется около 2.5M памяти;
    • Минимум операций копирования данных.

Оригинальная документация NGINX

Оригинальная документация NGINX доступна по ссылке: https://nginx.org/ru/

Установка NGINX

Для установки пакета nginx:

Подключить репозитории:актуальное оперативное обновление расширенного репозитория;

Обновить список пакетов:

Command
sudo apt update

Установить пакет nginx:

Command
sudo apt install nginx

Первичная проверка работоспособности NGINX

Проверить состояние системной службы nginx:

Command
sudo systemctl status nginx

примерный результат проверки при штатной работе службы:

Раскрыть
Command
Titlesudo systemctl status nginx

● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2021-09-07 17:53:58 MSK; 17s ago
     Docs: man:nginx(8)
 Main PID: 2080 (nginx)
    Tasks: 5 (limit: 4637)
   Memory: 6.8M
   CGroup: /system.slice/nginx.service
           ├─2080 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ├─2083 nginx: worker process
           ├─2084 nginx: worker process
           ├─2085 nginx: worker process
           └─2086 nginx: worker process

сен 07 17:53:58 se17 systemd[1]: Starting A high performance web server and a reverse proxy serv
сен 07 17:53:58 se17 systemd[1]: Started A high performance web server and a reverse proxy serve

  • Проверить работу web-сервера nginx, подключившись с помощью любого web-браузера к адресу localhost, например, для браузера firefox:

    Command
    firefox localhost

    При штатной работе сервера будет показана устанавливаемая по умолчанию страница nginx:
    Image Removed

  • Оглавление

    Информация
    titleДанная статья применима к:
    • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) с подключенным расширенным (extended) репозиторием
    • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7) с подключенным расширенным (extended) репозиторием
    titleВнимание!

    Программное обеспечение расширенного репозитория является сторонним по отношению к Astra Linux, не дорабатывается с точки зрения выполнения требований по безопасности информации и не проверяется при сертификации.
    Подробнее см. Использование стороннего программного обеспечения в аттестованных информационных системах, функционирующих под управлением Astra Linux Special Edition.

    При использовании программного обеспечения расширенного репозитория рекомендуется для дополнительной изоляции процессов осуществлять их запуск в изолированной программной среде (контейнере) [п. 7.2 РукКСЗ1]. При использовании для этих целей Docker-контейнеров их запуск целесообразно осуществлять от имени непривилегированного пользователя в rootless-режиме, а при включенном мандатном контроле целостности (МКЦ) с применением технологии запуска контейнеров на пониженном [п. 7.2.1] или выделенном [п. 7.2.7] уровне МКЦ.

    Что такое NGINX

    Раскрыть

    Общая информация

    Аннотация

    В данной статье представлена инструкция по установке web-сервера NGINX. Web-сервера NGINX (пакет nginx) доступен в составе расширенного репозитория Astra Linux Special Edition x.7 (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования).

    Что такое NGINX

    expand

    NGINX (читается [engine x]) — это HTTP-сервер и обратный прокси-сервер, почтовый прокси-сервер, а также TCP/UDP прокси-сервер общего назначения, выполняющий следующие функции:

    • Основная функциональность HTTP-сервера:
      • Обслуживание статических запросов, индексных файлов, автоматическое создание списка файлов, кэш дескрипторов открытых файлов;
      • Акселерированное обратное проксирование с кэшированием, распределение нагрузки и отказоустойчивость;
      • Акселерированная поддержка FastCGI, uwsgi, SCGI и memcached серверов с кэшированием, распределение нагрузки и отказоустойчивость;
      • Модульность;
      • Фильтры, в том числе сжатие (gzip), byte-ranges (докачка), chunked ответы, XSLT-фильтр, SSI-фильтр, преобразование изображений; параллельная обработка подзапросов на одной странице в SSI-фильтре через прокси или FastCGI/uwsgi/SCGI;
      • Поддержка SSL и расширения TLS SNI;
      • Поддержка HTTP/2 с приоретизацией на основе весов и зависимостей;
    • Расширенная функциональности HTTP-сервера;
      • Виртуальные серверы, определяемые по IP-адресу и имени;
      • Поддержка keep-alive и pipelined соединений;
      • Настройка форматов журналов, буферизованная запись в журналы, быстрая ротация журналов, запись журналов в syslog;
      • Специальные страницы для ошибок 3xx-5xx;
      • rewrite-модуль: изменение URI с помощью регулярных выражений;
      • Выполнение разных функций в зависимости от адреса клиента;
      • Ограничение доступа в зависимости от адреса клиента, по паролю (HTTP Basic аутентификация) и по результату подзапроса;
      • Проверка HTTP referer;
      • Методы PUT, DELETE, MKCOL, COPY и MOVE;
      • FLV и MP4 стриминг;
      • Возможность ограничения скорости отдачи ответов;
      • Возможность ограничение числа одновременных соединений и запросов с одного адреса;
      • Геолокация по IP-адресу;
      • A/B-тестирование;
      • Зеркалирование запросов;
      • Встроенный Perl;
      • Сценарный язык njs;
    • Функциональность почтового прокси-сервера:
      • Перенаправление пользователей на IMAP- или POP3-серверы с использованием внешнего HTTP-сервера аутентификации;
      • Аутентификация пользователей с помощью внешнего HTTP-сервера аутентификации и перенаправление соединения на внутренний SMTP-сервер;
      • Поддерживаемые методы аутентификации:
        • POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
        • IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
        • SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;
      • Поддержка протоколов SSL, STARTTLS, STLS.
    • Функциональность TCP/UDP прокси-сервера:
      • Проксирование TCP и UDP;
      • Поддержка SSL и расширения TLS SNI для TCP;
      • Распределение нагрузки и отказоустойчивость;
      • Ограничение доступа в зависимости от адреса клиента;
      • Выполнение разных функций в зависимости от адреса клиента;
      • Ограничение числа одновременных соединений с одного адреса;
      • Настройка форматов журналов, буферизованная запись в журналы, быстрая ротация журналов, запись журналов в syslog;
      • Геолокация по IP-адресу;
      • A/B-тестирование;
      • Сценарный язык njs;
    • Архитектура и масштабируемость:
      • Один главный и несколько рабочих процессов, рабочие процессы работают под непривилегированным пользователем;
      • Изменение настроек и обновление исполняемого файла без перерыва в обслуживании клиентов;
      • Поддержка kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), /dev/poll (Solaris 7 11/99+), event ports (Solaris 10), select и poll:
        • Использование возможностей, предоставляемых kqueue, таких как EV_CLEAR, EV_DISABLE (для временного выключения события), NOTE_LOWAT, EV_EOF, число доступных данных, коды ошибок;
        • Использование возможностей, предоставляемых epoll, таких как EPOLLRDHUP (Linux 2.6.17+, glibc 2.8+) и EPOLLEXCLUSIVE (Linux 4.5+, glibc 2.24+);
      • Поддержка sendfile (FreeBSD 3.1+, Linux 2.2+, macOS 10.5+), sendfile64 (Linux 2.4.21+) и sendfilev (Solaris 8 7/01+);
      • Поддержка файлового AIO (FreeBSD 4.3+, Linux 2.6.22+);
      • Поддержка DIRECTIO (FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, macOS);
      • Поддержка accept-фильтров (FreeBSD 4.1+, NetBSD 5.0+) и TCP_DEFER_ACCEPT (Linux 2.4+);
      • На 10 000 неактивных HTTP keep-alive соединений расходуется около 2.5M памяти;
      • Минимум операций копирования данных.

    Оригинальная документация NGINX

    Оригинальная документация NGINX доступна по ссылке: https://nginx.org/ru/

    Установка NGINX

    Для установки пакета nginx:

    1. Подключить расширенный репозиторий Astra Linux (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования)репозитории:
      1. актуальное оперативное обновление расширенного репозитория;

    2. Обновить список пакетов:

      Command
      sudo apt update


    3. Установить пакет nginx:

      Command
      sudo apt install nginx


    Первичная проверка работоспособности NGINX

    1. Проверить состояние системной службы nginx:

      Command
      sudo systemctl status nginx

      примерный результат проверки при штатной работе службы:

      Раскрыть


      Command
      Titlesudo systemctl status nginx

      ● nginx.service - A high performance web server and a reverse proxy server
         Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
         Active: active (running) since Tue 2021-09-07 17:53:58 MSK; 17s ago
           Docs: man:nginx(8)
       Main PID: 2080 (nginx)
          Tasks: 5 (limit: 4637)
         Memory: 6.8M
         CGroup: /system.slice/nginx.service
                 ├─2080 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
                 ├─2083 nginx: worker process
                 ├─2084 nginx: worker process
                 ├─2085 nginx: worker process
                 └─2086 nginx: worker process

      сен 07 17:53:58 se17 systemd[1]: Starting A high performance web server and a reverse proxy serv
      сен 07 17:53:58 se17 systemd[1]: Started A high performance web server and a reverse proxy serve





    2. Проверить работу web-сервера nginx, подключившись с помощью любого web-браузера к адресу localhost, например, для браузера firefox:

      Command
      firefox localhost

      При штатной работе сервера будет показана устанавливаемая по умолчанию страница nginx: