metaclass (metaclass) wrote,
metaclass
metaclass

Эксперименты по избавлению от жаб, дотнета и хипстер-языков

Собрал nginx+lua под виндой. Для сборки нужны msys, компилятор от студии, nasm, openssl, ActivePerl, pcre, zlib, ngx_devel_kit, LuaJIT и lua-nginx-module.

Для сборки править пришлось по мелочи:
1) заставить использовать nasm, иначе openssl не собирается (https://rt.openssl.org/Ticket/Display.html?id=3650&user=guest&pass=guest). В auto/lib/openssl/makefile.msvc заменить do_ms на do_nasm.
2) поправить сборку под 2010 студию (иначе configure не догадывается, что у нее есть variadic macros, на это ругается сборка ngx_devel_kit).
3) впихнуть #include "ngx_config.h" во все *.c файлы lua-nginx-module иначе валится ворнинг, что не находит precompiled header, а сборка идет с warning-as-error.

Результат: пару бинарников 3 мегабайта размером, один конфиг файл. Деплоймент копированием. Исходники на сишечке, скриптинг на lua.

Эксперименты с целью использовать сию комбинацию в качестве сервера приложений - результаты запросов к БД дообрабатывать и в виде json десктопным и не очень клиентам отдавать. Правда, для этого подключение к БД должно быть реализовано через nginx api - чтобы все было строго асинхронно и не подвешивало воркер-потоки nginx.

Сборка openssl требует перл, при этом ее конфигурирование и сборка вызывается из nmake. И действия, выполняемые перлом, там какие-то странные, вроде "скопировать файлы исходников во временную папку по одному, если такой файл еще не скопирован".

Еще из странного - в исходниках nginx есть заготовки под запуск его как виндовского сервиса, но их никто не касался осмысленно с 2004 года. А все, кому надо запускать сервисом - используют какие-то сторонние кульные прожки. Меня это как-то не радует, придется видимо самому сделать поддержку сервисов и заодно вмержить исправления из http://habrahabr.ru/post/260133/ https://github.com/sebres/nginx/pull/1/files
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 23 comments