Запуск 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).

  1. вы можете настроить веб-сервер, такой как веб-сервер Lua, xavante или thttpd или даже Apache и "proxy_pass" для этого аналогично сколько сделать с Apache для PHP.

  2. вы можете настроить 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 чтобы проверить его.


в ubuntu вы можете использовать модуль lua для nginx, просто установив nginx-extras.


вам нужно загрузить три модуля и перекомпилировать nginx. Здесь команды, которые необходимо выполнить

./configure --prefix=/usr/local/nginx --add-module=../ngx_devel_kit/ --add-module=../lua-nginx-module/

make

make install

после этого вы можете начать использовать lua в своем nginx.файл conf