syngx-ce
Описание
SynGX (произносится как "СинДжиИкс") Community Edition (syngx-ce) - это веб- и обратный прокси-сервер на базе Nginx с дополнительным возможностями в части обеспечения надежности, мониторинга и удобства использования.
Языки
- C41,8%
- JavaScript31,2%
- Perl10,7%
- Text10%
- C#1,7%
- Java1,3%
- Остальные3,3%
SynGX Community Edition
SynGX (произносится как "СинДжиИкс") Community Edition (syngx-ce) - это веб- и обратный прокси-сервер на базе Nginx. Программный код SynGX Community Edition основан на стабильной open source версии Nginx и содержит весь функционал, который в нее входит. Это означает, что все директивы и возможности, которые есть в соответствующей версии Nginx, будут так же доступны и в SynGX Community Edition.
Текущая версия SynGX Community Edition основана на базе Nginx версии 1.28. Обновления версии Nginx происходит каждый год.
SynGX Community Edition дополняет и расширяет возможности open source версии Nginx. Изменения включают в себя:
- дополнительные метрики работоспособности, в частности, детальная статистика по кодам HTTP ответов, количество соединений для каждого рабочего процесса и многое другое
- функционал "медленный старт (slow start)" для server в upstream в секции http
- возможность указать уникальный proxy_ssl_name для каждого server в upstream
- функционал активной проверки работоспособности для server в upstream для секции stream
- функционал для снятия trace системных вызовов при нештатном завершении рабочих процессов
- возможность записывать события, связанные с аутентификацией, в отдельный лог
- наиболее востребованные модули, которые были разработаны open source сообществом Nginx
Основные возможности SynGX Community Edition
- Отдача статического контента, хранящегося на сервере
- Перенаправление запросов к другим вычислительным узлам
- Маршрутизация, распределение запросов между вычислительными узлами
- Кеширование статических или редко изменяющихся ответов от других вычислительных узлов для выдачи при повторных запросах
- Поддержка протокола TLS
- Возможность использовать язык Lua, чтобы реализовать свою логику обработки запросов
- Предоставление расширенных метрик работоспособности и статистики обработки запросов
- Логирование информации о работе и запросах
- Возможность модификации обрабатываемых запросов и ответов
- Использование результатов активной проверки работоспособности узлов при распределении запросов
Поддерживаемые платформы
Протестированные операционные системы
- SberLinux OS Server 9
- SberLinux OS Server 8
Минимальная конфигурация
Некоторые модули для своей работы требуют установки дополнительных библиотек:
| Библиотека | Модуль |
|---|---|
| crypt | http_auth_basic_module |
| openssl | http_ssl_module stream_ssl_module mail_ssl_module ngx_http_upload_module njs nginx-auth-jwt |
| pcre2 | http_rewrite_module njs lua-nginx-module stream-lua-nginx-module |
| zlib | http_gzip_module http_gzip_static_module http_gunzip_module |
| libxslt | http_xslt_module nginx-dav-ext-module |
| gd | http_image_filter_module |
| perl | http_perl_module |
| geoip | stream_geoip_module http_geoip_module |
| libmaxminddb | ngx_http_geoip2_module |
| luajit | lua-nginx-module stream-lua-nginx-module |
| jansson | nginx-auth-jwt |
Установка зависимостей
Для сборки SynGX из исходных кодов необходимо установить компилятор GCC и make:
Для сборки с конфигурацией по умолчанию () также потребуется установить следующие зависимости:
Для сборки модулей и неоходимо установить библиотеку luajit2. Скачать исходный код и найти подробную инструкцию по сборке и установке можно в официальном репозитории проекта https://github.com/openresty/luajit2.
Клонирование и сборка из исходных кодов
В результате успешного выполненения скрипта исполняемый файл будет установлен в , а конфигурационные и прочие файлы будут располагаться в папке .
Запуск тестов
После сборки можно запустить тесты основной функциональности следующей командой:
Запустить тесты отдельного модуля из директории ./modules можно следующей командой: