Nginx-Unit: поддержка Lua5.4/LuaJIT
Nginx-Unit поддерживает Lua5.4 и LuaJIT. Может работать с фреймворками Lor/Vanilla, имеет специфическую адаптацию для Openresty.
На данный момент реализована только базовая функциональность HTTP. Тестирование проводилось только на MacOS.
Lua не интегрирован в Unit, как другие поддерживаемые языки, а используется в виде внешнего приложения (тип конфигурации — external).
При запуске Unit или изменении конфигурации запускается процесс Lua-приложения. Взаимодействие между Unit и Lua происходит через коммуникационный модуль, который предварительно скомпилирован в общую библиотеку Lua.
Основной процесс Unit запускает три функциональных контроллера процессов, маршрутизатор, прототип приложения и несколько процессов приложений. Между этими процессами происходит обмен данными.
Структура каталогов:
# Генерация файлов lib/libbase64.o, lib/config.h
# x86
SSSE3_CFLAGS=-mssse3 \
SSE41_CFLAGS=-msse4.1 \
SSE42_CFLAGS=-msse4.2 \
AVX2_CFLAGS=-mavx2 \
AVX_CFLAGS=-mavx \
make lib/libbase64.o
(cd test; make test) # Выполнение тестов и бенчмарков
.cd ..
# Генерация Makefile для Lua5.4 и Makefile для каждой общей библиотеки
# Конфигурация компиляции: ./make/inc.lua и make.lua в каждом каталоге общей библиотеки
# luajit make.lua
./make.lua # -g для генерации отладочной информации, -r без отладочной информации
make
make clean
В каталоге UNIT-ROOT/:
[i[nfo]]
— команда по умолчанию, показывает доступные команды и список зарегистрированных приложений;r[estart], s[tart], q[uit]
— управление unitd;v[host] [APP-NAME/No.]
— просмотр текущей конфигурации vhost для UNIT в формате JSON;d[etail] [APP-NAME/No.]
— перечисление информации о зарегистрированных приложениях без параметров, с параметрами — информация о регистрации, конфигурации, ngx и vhost;u[pdate] [APP-NAME/No.]
— обработка конфигурации и обновление конфигурации vhost в UNIT;g[et] <APP-NAME/No.>
— тестирование GET-запросов.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )