免責事項:翻訳がここに示されている元の記事は、製品の新しい古いバージョンのリリースを発表し、過去1年間のバージョン管理ポリシーと成功について一般的に伝える目的に役立ちます。 乾燥した技術的な詳細に興味がある場合は、 完全なchangelogを確認するか、記事の最後に簡単な説明を付けてそれを絞り込んでください。
NGINX 1.10および1.11をご紹介します。 これらのバージョン番号は、今後12か月間の取り組みに注力する無料のオープンリリースの安定したメインラインのメインブランチを表しています。
NGINXバージョン1.10.0 はすでにリリースされており 、メインブランチの将来のリリースは1.11.0の番号になります。
NGINXバージョン管理システム
NGINX、Inc. 有名なWebサーバーとNGINXアクセラレータの2つのブランチをサポートします。
- 奇数バージョン(1.11)がメインブランチです。 積極的に開発されており、新しいマイナーリリース(1.11.1、1.11.2など)は約4〜6週間ごとにリリースされ、定期的に新しい機会を提供しています。
- 偶数バージョン(1.10)は、安定したブランチです。 NGINX開発の最前線にいたくないユーザー向けであり、重要な問題を修正するためにのみ更新されます。 たとえば、過去1年間に、安定版ブランチ1.8の一部としてリリースされたマイナーアップデートは1つだけです。
毎年、現在の安定ブランチを廃止することを宣言し、メインブランチから新しい安定ブランチをブランチします。これは今後12か月間サポートされます。
バージョン1.8はサポートされなくなりました。 バージョン1.10は、新しい安定ブランチとしてバージョン1.9から分離され、1.9は1.11として番号が変更されています。
ニーズに最適なブランチを選択してください。 すべての新機能、最適化、修正を取得する場合は、メインブランチを優先する必要があります。メインブランチは(皮肉なことに)一般的に安定したブランチよりも信頼性が高くなります。 更新の回数を減らしたい場合で、今後12か月間に予定されている機能の必要性を感じない場合は、安定したブランチを選択することをお勧めします。
両方のアプローチのベストは、メインブランチに基づいたNGINX Plusによって組み込まれていますが、四半期ごとのリリースサイクルとNGINXチームからの公式サポートがあります。
NGINX 1.9で行われた作業を振り返る
昨年は、NGINXの歴史の中で最も波乱に富んだものの1つでした。 メインブランチには膨大な量の新機能が含まれています。 HTTP / 2 、 TCPおよびUDPプロキシバランシング 、 動的モジュール -これらはすべて、過去12か月間に無料バージョンのWebサーバーに追加されました。
他の多くの機能、修正、改善も実装されており、1.9シリーズは近年の開発の面で最大となっています。 このような変更の完全なリストは、ブランチのすべてのリリースに関するメモに記載されています 。 安定ブランチ1.8に移植された少数の変更は、開発チームが順守している高品質と信頼性の指標です。
さらに、2015年には、NGINXの人気における重要なマイルストーンを克服しました。 他のWebサーバーと競合して市場シェアを獲得するつもりはありませんが、NGINXの使用が着実に増加しているのは喜ばしいことです。 現時点では、世界で最も負荷の高い10,000のサイトの50%以上が 、NGINXを使用してアプリケーションとコンテンツをユーザーに配信しています。
NGINX 1.11の明るい未来を見る
今後のNGINX 1.11シリーズも、新しくて興味深いものがたくさんあります。 NGINXカーネルの固有の要件に合わせて特別に調整されたJavaScriptの実装であるnginScriptの作業は継続され ます 。 NGINX開発者コミュニティの開発を継続します 。これは、主に動的モジュールの作成の可能性と、最近公開された開発者ドキュメントの最初の部分のおかげです。 マイクロサービスのアーキテクチャに基づいた最新の分散アプリケーションのニーズを満たすことも、当社の計画で主導的な役割を担っています。そのほとんどは、 2016年9月の年次会議「nginx.conf」で発表されます。
NGINX Plusについて
NGINX Plusは、公式のテクニカルサポートと高度な機能を備えた NGINXのバージョンであり、プライマリバランサーとコンテンツ配信コントローラー(ADC)の役割を処理できます。 NGINX Plusはメインブランチに基づいており、3ヶ月のリリースサイクルがあります。 メインブランチの新機能はNGINX Plusに統合され、NGINXの無料バージョンの一部として完全な統合テストと戦闘検証に合格した後にリリースされます。
NGINX Plusは、追加の機能が追加されたメインのNGINXブランチに基づいています。
ベースとなるメインブランチからのリリースに対応する内部NGINX Plusバージョン番号は、リリースノートに記載されています 。 インストールされているバージョン番号を確認するには、
nginx -v
コマンドを実行できます。
$ nginx -v nginx version: nginx/1.9.13 (nginx-plus-r9)
NGINX Plusは、最新バージョンの完璧なバランスを提供しますが、NGINXの無料バージョンのバトル機能で既にテストされており、商用ユーザーにとって興味深いバランスの改善とさまざまな追加機能 、およびエンジニアとエキスパートのチームによる24時間365日の完全なサポートとアップデートを提供します。 NGINX Plusの試用版を30日間無料で試すことができます。 フォームに記入するか、お問い合わせください 。
1.8と比較したNGINXバージョン1.10の主要な革新のリスト:
- 動的モジュールのサポート。 特に、これにより、モジュールを依存関係のある異なるパッケージに分解し、必要に応じて個別に再インストール、接続、更新することができます。 そのため、 私たちの公式リポジトリでは、 njsモジュールを含むモジュールを備えた個別のパッケージのセットを既に提供しています 。これにより、設定でJavaScriptを使用できます。
- TCPおよびUDPトラフィックをプロキシおよびバランシングするための新しい
stream
モジュール 。 たとえば、NGINXを使用してDNSサーバーまたはMySQLサーバーのバランスを取ることができるようになりました。 - 新しい
slice
モジュールでは、大きなファイルを個別にキャッシュできるフラグメントに分割することで、大きなファイルのキャッシュ効率を向上させることができます。 - SPDYモジュールは HTTP / 2モジュールに置き換えられました。 後者は現在、リクエストボディのバッファなし読み取りもサポートしています。
- sub_filterモジュールが大幅に改善され、サーバーの応答本文を置き換えることができます。 生産性が向上し、変数を目的の文字列および置換文字列として使用できるようになり、このような文字列を多数設定できるようになりました。
-
listen
ディレクティブの再利用reuseport
オプションを使用すると、新しい接続の強度が高い場合に、マルチプロセッサシステムのパフォーマンスを大幅に向上させることができます。 これに関する詳細な記事 。 - 埋め込みリゾルバの TCPサポート。
- プロキシエラーが発生した場合に別のサーバーを選択するときに、リクエストメソッドのべき等性が考慮されるようになりました。 動作は、
proxy_next_upstream
、fastcgi_next_upstream
、uwsgi_next_upstream
およびscgi_next_upstream
の新しいnon_idempotent
オプションによって規制されています - ストリームプールを使用して、バックエンドからの応答を記録できるようになりました。
aio_write
ディレクティブによって制御されます。 スレッドプールの概要、用途、使用方法についての詳細な記事 。 - キャッシュマネージャーの改善された作業。 現在、占有されているディスク領域だけでなく、共有メモリ内のメタデータの量も監視します。
-
worker_cpu_affinity
ディレクティブは、自動モードと64を超えるプロセッサのサポートを受け取りました。 -
include
ディレクティブは、upstream
ブロック内で使用できるようになりました。 - キャッシュ時に
HEAD
メソッドからGET
への変換を制御するproxy_cache_convert_head
ディレクティブ 。 -
nohostname
パラメーターは、syslog
にログを記録するときにメッセージヘッダーにhostname
フィールドを追加することを禁止します。 - クライアントのソースアドレスを含む
$realip_remote_addr
モジュール の$realip_remote_addr
変数 。 - 変数
$upstream_connect_time
には、バックエンドとの接続に費やされた時間とTLSハンドシェイク(暗号化が使用されている場合)が含まれます。 -
memcached
モジュールは、 バイト範囲リクエストをサポートするようになりました 。 -
upstream
ブロックについては 、zone
ディレクティブを使用して共有メモリを使用できるようになりました。これにより、特に、すべてのワークプロセスがプロキシサーバーの健全性について同じ考えを持つことができますが、パフォーマンスに悪影響を与える可能性があります。 - Windowsのバージョンでの共有メモリのサポート、およびそれに応じて、それを使用するすべてのモジュール。
- メールプロキシサーバーでは、
mail
レベルとserver
レベルでerror_log
ディレクティブを使用して、さまざまなログパラメータを設定できるようになりました。
以前の発表: NGINX 1.8 / 1.9およびNGINX 1.6 / 1.7