2012-02-24 20 views
8

Como ejercicio de aprendizaje, he dedicado un tiempo a buscar a Lua mediante la creación de algunas aplicaciones básicas. Lo tengo instalado y funcionando bien en Natty/Ubuntu, sin embargo, estoy un poco perdido en cuanto a cómo hacerlo jugar bien con nginx.Ejecutar Lua bajo nginx (escribir un sitio web con Lua)

He leído un poco aquí http://wiki.nginx.org/HttpLuaModule#Installation Y clonado este repo https://github.com/chaoslawful/lua-nginx-module en mi/etc/carpeta nginx ...

Sin embargo, todavía estoy bastante perdido y no sabe cómo conseguir que funcione incluso en una nivel básico. ¿Es posible incluir algo en mi archivo nginx.conf para manejar las solicitudes/lua, o necesito recompilar/reinstalar nginx por completo? (Prefiero evitar esto).

ya he estado usando PHP bajo nginx través pies por minuto durante bastante tiempo, pero realmente no sé por dónde empezar a recibir Lua trabaja de una manera similar.

+0

No tengo ni idea de ejecutar Lua en Apache/Nginx, pero así es cómo lo ejecutas en Heroku: http://leafo.net/posts/lua_on_heroku.html – kikito

Respuesta

9

módulo El ngx_lua es para ejecutar código Lua directamente en el servidor web nginx. Es posible ejecutar aplicaciones Lua completas de esta manera, pero este no es el objetivo específico de ese módulo. En realidad, algunas de las directivas de módulos específicamente no deberían usarse con rutinas complejas o de larga ejecución.

Usted tendrá que volver a compilar Nginx con este módulo, ya que no se puede simplemente descargar un módulo de Nginx y usarlo así.

para ejecutar aplicaciones Lua similar a la forma en que ejecute PHP, puede configurar Nginx para aprobar las solicitudes ".lua" a un manejador de Lua (similar a PHP).

  1. Puede configurar un servidor web como the Lua webserver, xavante o thttpd o incluso Apache y "PROXY_PASS" a esta de manera similar a cuántos hacer con Apache para PHP.

  2. Puede establecer Lua para que se ejecute como CGI (similar a PHP FastCGI con aunque Lua no tiene el equivalente de FPM) y llamar a esto como necesario.

No necesita ngx_lua para ninguna de las dos opciones.

Básicamente, PHP, Lua y tal, bajo la amplia categoría de scripts "CGI" y cualquier "cómo" en el funcionamiento de éstos se pueden aplicar a Lua.

BTW openresty es simplemente normal Nginx con algunos módulos de terceros incluidos incluyendo ngx_lua y las personas detrás de openresty son las mismas detrás de ngx_lua.

Puede añadir manualmente ya que muchos de los mismos módulos agrupados a Nginx a sí mismo como desee.

+0

¡Gracias por esta respuesta! Esto es más o menos lo que esperaba, pero es bueno escucharlo con referencia a mi situación. –

5

No he probado con la distribución oficial nginx, pero era bastante fácil con OpenResty (http://openresty.org/)

Ver la página de "inicio" para un simple nginx.conf para probarlo.

0

Necesita descargar tres módulos y volver a compilar nginx. Aquí los comandos necesarios para ejecutar

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

make 

make install 

Después de que se puede empezar a utilizar el uso de Lua en su nginx.archivo conf

3

En ubuntu puede usar el módulo lua para nginx simplemente instalando nginx-extras.