2012-02-24 17 views
8

学習の練習として、私はいくつかの基本的なアプリケーションを作成することによってLuaを拾う時間を割いてきました。私はそれをインストールして、Natty/Ubuntuでうまく動作していますが、nginxでうまく再生する方法を少し失っています。nginxの下でLuaを実行する(Luaを使ってウェブサイトを書く)

私はここで少しhttp://wiki.nginx.org/HttpLuaModule#Installation そして、私の/ etc/nginxのフォルダにこのレポhttps://github.com/chaoslawful/lua-nginx-moduleをクローン化された...しかし

が、私はまだそれが上にも取り組んで取得する方法ではなく、失われたとわからないよ読みました基礎の段階。/luaのリクエストを処理するためにnginx.confファイルに何かを含めることは可能ですか?それともnginxを再コンパイル/再インストールする必要がありますか? (私はむしろこれを避けるだろう)。

私はすでにかなり長い間fpm経由でnginxの下でphpを使っていましたが、どこで同様の方法でLuaを動作させるのかは分かりません。

+0

私はApache/NginxでLuaを実行することは考えていませんが、Herokuで実行する方法は次のとおりです。http://leafo.net/posts/lua_on_heroku.html – kikito

答えて

9

ngx_luaモジュールは、nginxウェブサーバでLuaコードを直接実行するためのモジュールです。この方法でLuaアプリケーション全体を実行することは可能ですが、これはそのモジュールの特定のターゲットではありません。実際には、モジュールディレクティブの中には、長時間実行されるルーチンや複雑なルーチンでは特に使用しないでください。

このモジュールでNginxを再コンパイルする必要があります.Nginxモジュールをダウンロードしてそのまま使用することはできません。

PHPを実行するのと同じようにLuaアプリケーションを実行するには、 ".lua"リクエストをLuaハンドラ(PHPに似ています)に渡すようにnginxを設定できます。

  1. あなたは、PHP用のApacheで行うどのように多くの と同様にこれに、このようなthe Lua webserver, xavantethttpdなどのWebサーバーあるいはApacheと「proxy_pass」を設定することができます。

  2. あなたは(LuaはFPMと同等のものを持っていませんが、FastCGIの とPHPと同様)CGIとして実行するようにセットアップのLuaを設定し、 は、必要に応じてこれを呼び出すことができます。

どちらのオプションにもngx_luaは必要ありません。

基本的に、PHP、Luaなどは、 "CGI"スクリプトの広いカテゴリに分類され、これらを実行する方法はすべてLuaに適用できます。

BTW openrestyはngx_luaを含むいくつかのサードパーティ製モジュールがバンドルされている正規のNginxであり、openrestyの背後にいる人はngx_luaの背後で同じです。

Nginxにバンドルされている同じモジュールを手動でいくつでも追加できます。

+0

この応答に感謝します!これは多かれ少なかれ私が期待したものですが、私の状況を参考にしてそれを聞いていいです。 –

5

私は公式nginxの分布を試していないが、それはそれをテストするための簡単なnginx.confのために、「はじめに」のページを参照してくださいOpenResty(http://openresty.org/

で十分に簡単でした。

0

3つのモジュールをダウンロードし、nginxを再コンパイルする必要があります。ここ あなたがあなたのnginxでLUAを使用して使い始めることができる後

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

make 

make install 

を実行するために必要なコマンド。confファイル

3

ubuntuでは、単にnginx-extrasをインストールするだけで、nginxのluaモジュールを使用できます。

関連する問題