nginx 用の JavaScript スクリプト言語、njs 0.8.0 がリリースされました

njs0.8.0がリリースされました。このリリースでは、http とストリームの共有辞書とグローバル ngx プロパティが追加されています。

njs は nginx プラグインとして存在します。これは JavaScript/ECMAscript のサブセットであり、JavaScript 言語関数のほとんどを実装しています。ECMAScript 標準に完全には準拠しておらず、JavaScript の難しい部分は破棄されています。njs は V8 エンジンでは実装されていませんが、エネルギー消費が低く、nginx アプリケーション シナリオにより適した小型の仮想マシンによって実装されており、nginx が独自の字句解析セットを実装していることがわかります。

njsはnginxのプラグインとしてnginxを再コンパイルすることでインストールされます。

新しいバージョンのダウンロード リンク: http://nginx.org/en/docs/njs/install.html

主な変更点

nginxモジュール

  • 変更: 0.7.10 で導入されたFetch API の禁止ヘッダーの特別な処理を削除
  • 変更:  0.5.0 以降、モジュールでhttp非推奨になったr.requestBody()andr.responseBody()メソッドを削除します。
  • 変更:モジュールはhttp フィルタリング時に r.internalRedirect() 例外をスローします
  • 機能: グローバル nginx プロパティの導入- ngx.buildngx.conf_file_pathngx.error_log_pathngx.prefixおよびngx.versionngx.version_numberngx.worker_id
  • 機能:ワーカー プロセス間で共有辞書を宣言するための http および streamのディレクティブ を導入します。js_shared_dict_zone
  • 改善: njs モジュールを無効にするコンパイル時オプションを追加しました。たとえば、libxslt 関連のコードを無効にするには:

NJS_LIBXSLT=NO ./configure .. --add-module=/path/to/njs/module

  • バグ修正:httpモジュールでフィルタリングする際のr.statusセッターの問題を修正しました。

  • バグ修正:httpモジュール内のLocationヘッダーの設定問題を修正

詳細については、変更ログを参照してください

おすすめ

転載: www.oschina.net/news/248321/njs-0-8-0-released