問題タブ [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.
nginx - Openresty: 2 つの非同期タスクの作成
基本的にリダイレクトであるサービスの設計に関する問題に取り組んでいます。
取得したリクエスト リンクには、いくつかのパラメーター (abc.com/param1=v1¶m2=v2) が含まれます。このリンクで 2 つのタスクを実行する必要があります
リンクをフォーマットし、param1 などの値に応じて、渡されたいくつかのパラメーター (xyz.com/p1=v2) を使用してユーザーを別のドメインにリダイレクトする必要があります。このステップはできるだけ速く行う必要があります。
何らかの処理を行った後、リンクの詳細を DB に保存する必要があります。
nginx+lua(openresty)+(Redis or Mongodb?) の組み合わせでこれを行う予定です。
2つは無関係なタスクであるため、両方を非同期で実行するために分割する予定です。
リダイレクトの最初のタスクとして、ngx.redirect("/link") が適切なようです。しかし、ドキュメントによると、リダイレクト呼び出しは現在のリクエストの処理を終了します
これら 2 つのタスクを独立させるにはどうすればよいでしょうか。リダイレクトは可能な限り高速に行われ、2 番目のタスクの完了を待つべきではありません。
nginx - Redis からの値とともに文字列の長さを返す Nginx-redis モジュール
redis2-nginx-moduleを使用して、 に値として保存されている html コンテンツを提供していますredis
。以下は、nginx
redis からキーの値を取得するための構成コードです。
URL がヒットすると、次の不要な応答がそのキーの値とともにレンダリングされます。
この不要な出力を削除するには? また、引数として渡されたキーが redis に存在しない場合、この条件を確認してデフォルト ページを表示するにはどうすればよいですか?
nginx - nginx を使用した lua スクリプトでの永続的な redis ハンドル
lua スクリプトを使用して、nginx http サーバーからパラメーターを redis にプッシュしています https://github.com/openresty/lua-resty-redis
毎回 redis サーバーへの新しい接続を作成したくありません。redis 接続を維持できますか? また、これを非同期にするオプションがあります
nginx - config.moon の値を使用しないラピス
leafo.net/lapisのガイドに従って構成ファイルを作成しています。私config.moon
はアプリの最上位フォルダーにあり、次のようになります
lapis build
またはを実行すると、日付スタンプが変更さlapis server
れていることがわかりますがnginx.conf.compiled
、ポート 8080 でリッスンしているため、構成が無視されているようです。
lapis server
したがって、そのポートに接続しようとして失敗します。私は何を逃したのですか?
アプリの構造:
json - ファイルからの LUA ロード JSON 構成
JSONコンテンツをファイルからグローバル変数にロードしていた古いLUAメソッドを「クラス」に移動しようとしています。しかし、常に次のエラーが発生します。
lua はよくわかりませんが、ほとんどすべての組み合わせを試しても結果が得られなかったので、このエラーが発生する理由を説明していただけますか?
モジュールの現在の実装は次のようになります。
最終結果として、他のファイルから次のようなものを実行したいと思います:
nginx - nginxで変数文字列を比較することは不可能ですか?
簡単な比較があります。文字列が同一の hmac ハッシュ (base64 エンコード) であることを確認しましたが、このステートメントは何らかの理由で true を返します。Nginx が文字列を正しく比較できないのはなぜですか?
nginx - クライアントがnginxエラーログで接続を閉じました
プロジェクトにredisでopenrestyを使用しています。nginx error.log にこれらのメッセージが表示されます。
2016/07/13 23:08:05 [情報] 28306#0: *110027 クライアントは要求の待機中に接続を閉じました, クライアント: 27.97.70.20, サーバー: 0.0.0.0:80
開かれた接続の総数とこのメッセージの数はほぼ同じです。多くの人がこのメッセージをさまざまな文脈で見ており、さまざまな場所でさまざまな反応を見ていることがわかります.
どのように進めればよいですか?この問題は深刻ですか?