Запуск Lua под nginx (написание веб-сайта с Lua)
в качестве учебного упражнения я посвятил некоторое время, чтобы забрать Lua, создав некоторые основные приложения. Я получил его установлен и отлично работает на Natty / Ubuntu, однако, я немного потерял, как заставить его играть хорошо с nginx.
Я тут немного почитал http://wiki.nginx.org/HttpLuaModule#Installation И клонировал это РЕПО https://github.com/chaoslawful/lua-nginx-module в мою папку/etc / nginx...
однако, я все еще довольно потерянный и неуверенный, как заставить его работать даже на базовом уровне. Можно ли просто включить что-то в мой nginx.conf-файл для обработки запросов / lua или мне нужно перекомпилировать/переустановить nginx вообще? (я бы предпочел избежать этого).
Я уже довольно давно использую php под nginx через fpm, но я действительно не уверен, с чего начать работу Lua подобным образом.
4 ответов
модуль ngx_lua предназначен для запуска кода Lua непосредственно на веб-сервере nginx. Таким образом можно запускать все приложения Lua, но это не является конкретной целью этого модуля. Фактически, некоторые из директив модуля специально не должны использоваться с длительными или сложными подпрограммами.
вам нужно будет перекомпилировать Nginx с этим модулем, поскольку вы не можете просто загрузить модуль Nginx и использовать его так.
для запуска приложений Lua, подобных способ запуска PHP, вы можете настроить nginx для передачи ".lua " запрашивает обработчик Lua (аналогично PHP).
вы можете настроить веб-сервер, такой как веб-сервер Lua, xavante или thttpd или даже Apache и "proxy_pass" для этого аналогично сколько сделать с Apache для PHP.
вы можете настроить Lua для запуска как CGI (аналогично PHP с FastCGI хотя Lua не имеет эквивалента FPM) и вызовите это как необходимый.
вам не нужен ngx_lua для любого из двух вариантов.
в основном, PHP, Lua и такие подпадают под широкую категорию скриптов "CGI" и любые "как" при их запуске могут быть применены к Lua.
BTW openresty - это просто обычный Nginx с некоторыми сторонними модулями в комплекте, включая ngx_lua, и люди за openresty такие же за ngx_lua.
вы можете вручную добавить столько же модулей в комплекте к Nginx себя, как вы хотите.
Я не пробовал с официальным дистрибутивом nginx, но это было достаточно легко с OpenResty (http://openresty.org/)
см. страницу "начало работы" для простого nginx.conf
чтобы проверить его.
вам нужно загрузить три модуля и перекомпилировать nginx. Здесь команды, которые необходимо выполнить
./configure --prefix=/usr/local/nginx --add-module=../ngx_devel_kit/ --add-module=../lua-nginx-module/
make
make install
после этого вы можете начать использовать lua в своем nginx.файл conf