問題タブ [openresty]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
openresty - Openresty または Lua Web アプリのミドルウェアに相当するものはありますか?
小さな Web アプリの Openresty を学習しています。抽象化レイヤーの Lua Web アプリとフレームワークはありますか? 例: Python/WSGI、Ruby/Rack、Elixir/Plug。
Lua で見つけた最新のものは古くなっているようです: APItools/lua-resty-rack
WSAPIとWSAPI-Openrestyもありますが、それを利用したメンテナンスされているミドルウェア/プロジェクトは見つかりませんでした。
Openresty アプリは、ほとんどの実稼働アプリでこのタイプの抽象化レイヤーを使用していませんか? それとも、Openresty アーキテクチャのために必要ないのでしょうか?
php - ngx_http_lua_module内でNginx fastcgi_passに渡す方法は?
優れたライブラリhttps://github.com/openresty/lua-nginx-moduleを使用して、Nginx 変数を PHP 7.0 バックエンドに渡す必要があります。
「set」関数のドキュメントには「このディレクティブは、Nginx イベント ループがコード実行中にブロックされるため、短くて高速に実行されるコード ブロックを実行するように設計されているため、content_by_lua_block
代わりにを使用することを好みます。したがって、時間のかかるコード シーケンスは避ける必要があります。 set_by_lua_block
"。
https://github.com/openresty/lua-nginx-module#set_by_lua
ただし、「content_...」関数はノンブロッキングであるため、次のコードは時間内に返されず、PHP に渡されるときに $hello が設定解除されます。
問題は、たとえば暗号を使用して、特定のコード パスが使用される場合、私の Lua コードが「時間のかかるコード シーケンス」になる可能性があることです。
次の Nginx の場所は正常に機能しますが、これは set_by_lua_block() がブロッキング関数呼び出しであるためです。
私の質問は、ここで最善のアプローチは何ですか? fastcgi_pass
変数が設定された後にのみ、 content_by_lua_block() 内からNginx ディレクティブと関連するディレクティブを呼び出す方法はありますか?
lua - lua-resty-auto-ssl: sockproc の開始に失敗しました
==> /etc/openresty/nginx/logs/error.log <==
2016/08/07 02:31:26 [error] 194#0: [lua] start_sockproc.lua:9: auto-ssl: failed to start sockproc, context: init_worker_by_lua*
Nginx インスタンスの起動後に前述のエラーが表示されます.何が原因なのかわかりません..
依存関係が欠落しているように見えますが、それは正しいです。
Docker イメージ リポジトリは次のとおりです。設定方法の詳細が記載されています。
また、sockproc が実際に実行されていることに気付きました。以下の画像を参照してください。
nginx - リクエストヘッダーにユーザーエージェントを設定して wurfl に渡す方法
Nginx 用の Wurfl プラグインを使用しようとしています。Vanilla Nginx の代わりに Openresty を使用しています。User-Agent ヘッダーに正しい User-Agent が設定されていません。そのため、リクエストの処理中に User-Agent ヘッダーを自分で設定しようとしています。しかし、Wurfl は、リクエストがサーバーに到達したときにヘッダーの一部として存在する User-Agent を既に解決しているように感じます。コードを使用して User-Agent 値を設定し、新しく設定されたヘッダーでデバイスの機能を解決する方法はありますか。
lua - OpenResty 内での読み込み時に `popen` が nil を返す
torch からパッケージをインクルードするときに、このマニフェスト自体を見てきました。最も単純な例は、「sys」パッケージのものです。何らかの理由で: https://github.com/torch/sys/blob/master/init.lua#L37-L40は、例外を引き起こす OpenResty を介して起動すると nil を返します。
app.lua
resty app.lua を実行すると、次のようになります。
(sys.execute は、sys.prefix を設定するために呼び出されています)
popen の動作がおかしい理由はわかりませんが、出力が nil の場合は処理する必要があると考えました。このコンテキストで子プロセスが失敗する理由はありますか?
mongodb - nginx を介して Lua で resty-mongol を実行するとエラーが発生する
nginx を介して Lua で resty-mongol を実行しようとすると、エラーが発生します。エラーは、「グローバル 'bit' (nil 値) のインデックスを作成しようとしています」です。私の環境は
https://github.com/openresty/lua-nginx-module/releases/tag/v0.10.6 - nginx 1.10.1 バージョンでビルドします。
エントリ スレッドが中止されました: ランタイム エラー: ...ules/lua-resty-mongol/lib/resty/mongol/object_id.lua:56: グローバル 'ビット' (nil 値) のインデックスを作成しようとしています スタック トレースバック: コルーチン 0: .. .ules/lua-resty-mongol/lib/resty/mongol/object_id.lua:56: メイン チャンク内 [C]: 関数 'require' 内 ...e/modules/lua-resty-mongol/lib/resty/ mongol/bson.lua:25: メイン チャンク内 [C]: 関数 'require' 内 .../modules/lua-resty-mongol/lib/resty/mongol/colmt.lua:20: メイン チャンク内 [C] : 関数 'require' 内 ...e/modules/lua-resty-mongol/lib/resty/mongol/dbmt.lua:9: メイン チャンク内 [C]: 関数 'require' 内 ここにコードを入力 ...e /modules/lua-resty-mongol/lib/resty/mongol/init.lua:14: メイン チャンク内。
- そして、再起動後、私は電話に出ています
mongo:new() [string "mongo:new()"]:1: メソッド 'new' (nil 値) の呼び出しを試みます
このエラーが突然発生し始めましたが、今では毎回失敗します。失敗は、コード行内のロード モジュール行にあります
require "resty.mongol"
。何が間違っている可能性があります。誰もまだ直面していませんか?