syngx-ce

6

Описание

SynGX (произносится как "СинДжиИкс") Community Edition (syngx-ce) - это веб- и обратный прокси-сервер на базе Nginx с дополнительным возможностями в части обеспечения надежности, мониторинга и удобства использования.

Языки

  • C41,8%
  • JavaScript31,2%
  • Perl10,7%
  • Text10%
  • C#1,7%
  • Java1,3%
  • Остальные3,3%
2 месяца назад
2 месяца назад
2 месяца назад
2 месяца назад
2 месяца назад
7 месяцев назад
2 месяца назад
2 месяца назад
2 месяца назад
2 месяца назад
2 месяца назад
2 месяца назад
7 месяцев назад
2 месяца назад
2 месяца назад
2 месяца назад
README.md

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

Минимальная конфигурация

Некоторые модули

syngx
для своей работы требуют установки дополнительных библиотек:

БиблиотекаМодуль
crypthttp_auth_basic_module
opensslhttp_ssl_module
stream_ssl_module
mail_ssl_module
ngx_http_upload_module
njs
nginx-auth-jwt
pcre2http_rewrite_module
njs
lua-nginx-module
stream-lua-nginx-module
zlibhttp_gzip_module
http_gzip_static_module
http_gunzip_module
libxslthttp_xslt_module
nginx-dav-ext-module
gdhttp_image_filter_module
perlhttp_perl_module
geoipstream_geoip_module
http_geoip_module
libmaxminddbngx_http_geoip2_module
luajitlua-nginx-module
stream-lua-nginx-module
janssonnginx-auth-jwt

Установка зависимостей

Для сборки SynGX из исходных кодов необходимо установить компилятор GCC и make:

Для сборки с конфигурацией по умолчанию (

build/syngx.conf
) также потребуется установить следующие зависимости:

Для сборки модулей

lua-nginx-module
и
stream-lua-nginx-module
неоходимо установить библиотеку luajit2. Скачать исходный код и найти подробную инструкцию по сборке и установке можно в официальном репозитории проекта https://github.com/openresty/luajit2.

Клонирование и сборка из исходных кодов

В результате успешного выполненения скрипта исполняемый файл будет установлен в

/usr/sbin/
, а конфигурационные и прочие файлы будут располагаться в папке
/opt/syngx/
.

Запуск тестов

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

syngx
следующей командой:

Запустить тесты отдельного модуля из директории ./modules можно следующей командой:

Стороннее программное обеспечение в SynGX Community Edition

Наименование стороннего ПОВерсия стороннего ПОСсылка на репозиторийЛицензияСсылка на лицензию
Nginx1.28https://github.com/nginx/nginxBSD 2-Clause LicenseЛицензия
ngx_http_geoip2_module3.4https://github.com/leev/ngx_http_geoip2_moduleBSD-2-Clause licenseЛицензия
echo-nginx-module0.63https://github.com/openresty/echo-nginx-moduleBSD-2-Clause licenseЛицензия
ngx_devel_kit0.3.4https://github.com/vision5/ngx_devel_kitBSD-3-Clause licenseЛицензия
lua-nginx-module0.10.28https://github.com/openresty/lua-nginx-moduleBSD licenseЛицензия
stream-lua-nginx-module0.0.16https://github.com/openresty/stream-lua-nginx-moduleBSD licenseЛицензия
lua-upstream-nginx-module0.0.7https://github.com/openresty/lua-upstream-nginx-moduleBSD licenseЛицензия
lua-stream-upstream-nginx-module0.0.7https://github.com/openresty/lua-upstream-nginx-moduleBSD licenseЛицензия
headers-more-nginx-module0.39https://github.com/openresty/headers-more-nginx-moduleBSD licenseЛицензия
njs0.9.3https://github.com/nginx/njsBSD 2-Clause Simplified LicenseЛицензия
ngx_http_proxy_connect_module0.0.7https://github.com/chobits/ngx_http_proxy_connect_moduleBSD-2-Clause licenseЛицензия
nginx-sslkeylog0.2.0https://github.com/tiandrey/nginx-sslkeylogGNU Lesser General Public License v3.0Лицензия
ngx_brotli1.0.0https://github.com/google/ngx_brotliBSD-2-Clause licenseЛицензия
nginx-module-stream-sts0.1.1https://github.com/vozlt/nginx-module-stream-stsBSD-2-Clause licenseЛицензия
nginx-module-sts0.1.1https://github.com/vozlt/nginx-module-stsBSD-2-Clause licenseЛицензия
nginx-upload-module2.3.0https://github.com/fdintino/nginx-upload-moduleBSD licenseЛицензия
set-misc-nginx-module0.33https://github.com/openresty/set-misc-nginx-moduleBSD licenseЛицензия
nginx-dav-ext-module3.0.0https://github.com/arut/nginx-dav-ext-moduleBSD-2-Clause licenseЛицензия
nginx-auth-jwt0.9.0https://github.com/kjdev/nginx-auth-jwtMIT licenseЛицензия