Nginx-Unit-Lua
Перевод с английского языка.
Описание Из перевода Baidu. Поддержка Lua5.4/luajit в Nginx-Unit. Может запускать фреймворки Lor/Vanilla и делать целевую адаптацию openresty. Предварительно реализована только функция HTTP. Протестировано только на MacOS.
Архитектура программного обеспечения Lua не интегрирован в Unit, как те языки, которые официально поддерживаются Unit. Он существует в виде внешнего приложения (тип конфигурации — «external»).
Когда Unit запускается (или когда изменяется конфигурация приложения), запустите процесс приложения Lua в соответствии с конфигурацией. Взаимодействуйте с модулем связи Unit, который был скомпилирован в общую библиотеку Lua. Основной процесс Unit запустит три функциональных контроллера процессов, маршрутизаторы и прототипы приложений, а также несколько процессов приложений. Различные процессы будут взаимодействовать друг с другом.
Установка
Зависимости: — lua-cjson (https://github.com/openresty/lua-cjson); — base64 (https://github.com/aklomp/base64); — luaffifb (https://github.com/facebookarchive/luaffifb).
Скомпилируйте build/deps/base64:
# Генерируем файлы 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) # Выполняем тест и бенчмарк
.Соберите nginx-unit-lua:
cd ..
# Для lua5.4 генерируем ./Makefile и Makefile каждой разделяемой библиотеки
# Компилируем конфигурацию: ./make/inc.lua и make.lua в каждом каталоге разделяемой библиотеки
# luajit make.lua
./make.lua # -g генерирует отладочную информацию, -r релиз
make
make clean
```.
Инструкции В UNIT-ROOT/: — config/config.lua настраивает UNIT, регистрирует фреймворки и приложения; — выполните ./unitd.lua для управления. Можно указать следующие команды: * [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.] — обработка и обновление конфигурации vhosts UNIT; * g[et] <APP-NAME/No.> — тестовый запрос на получение.
Вклад
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )