nginx

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
nginx
NginxLogo.gif
作者 Igor Sysoev
開発元 NGINX, Inc.
初版 2004年10月4日(10年前) (2004-10-04
最新版 1.6.2 - 2014年9月16日(2か月前) (2014-09-16[1][±]
最新評価版 1.7.6 - 2014年9月30日(2か月前) (2014-09-30 [2][±]
プログラミング言語 C言語
対応OS Unix系Microsoft Windows
種別 Webサーバリバースプロキシ
ライセンス BSDライク
公式サイト www.nginx.org
テンプレートを表示

nginx(発音は「えんじんえっくす」[3])は、フリーかつオープンソースWebサーバである。加えて、HTTPSMTPPOP3IMAPリバースプロキシの機能も持つ。処理性能・高い並行性・メモリ使用量の小ささに焦点を当てて開発されている。

nginxは、BSD-likeライセンスでリリースされており、LinuxBSD系OS、Mac OS XSolarisAIXHP-UXMicrosoft Windowsで動作する。

概要[編集]

nginx自体は、静的コンテンツ(つまりサーバ上のファイル)を高速に配信するように設計されている。さらに、各種のウェブアプリケーション用インターフェース(FastCGI, uWSGI, Phusion Passengerなど)が標準で組み込まれているため、これらに対応したサーバと協調することで、動的なHTTPコンテンツをデプロイすることもできる。また、リバースプロキシの機能を持つため、ソフトウェアロードバランサ[4]やHTTPキャッシュとして使用することもできる。

Apache HTTP Serverがリクエストの処理にデフォルトでスレッドプロセス指向のアプローチを用いている一方で、nginxは非同期イベント駆動アプローチを用いている。イベント駆動によるアプローチは、高負荷下において、より予測可能なパフォーマンスを提供すると考えられている[5]

利用状況[編集]

nginx は当初、Ramblerが運営する各種ウェブサイトのニーズを満たすために開発された。2008年9月の時点で、nginxはこれらのサイトで1日に5億のリクエストを処理していた。[6]

ネットクラフトの2013年6月の調査[7]によると、nginxは、全ドメインの中で3番目に多く使われている(14.56%)Webサーバであり、全アクティブサイトの中で2番目に多く使われている(12.91%)Webサーバである。W3Techsの調査によると、上位1,000サイトの34.7%、上位100,000サイトの25.9%で使われている。[8]。BuiltWithによると、上位1万Webサイトの18%で使われており、上位1万、10万、100万の区分において成長を続けている。[9]

OpenBSDは、リリース5.2(2012年11月)より、ベースシステムにnginxを取り入れた。これは、OpenBSDが提供するApache1.3のフォークを代替するものとして提供され、最終的にそれを置き換えることが意図されていた[10]。最終的にApacheはベースシステムから除去された。

Wikipediaは、SSL終端プロキシとしてnginxを使用している。[11]

機能と特徴[編集]

ネットワーク機能[編集]

主な基本HTTP機能[編集]

  • 静的ファイル・インデックスファイルの処理、自動インデクシング
  • 仮想サーバ
    • 名前ベース
    • IPアドレスベース
  • FastCGI, uWSGI, SCGI サポート(キャッシュ機能あり)
  • リバースプロキシ(キャッシュ機能あり)
  • gzip圧縮、事前gzip圧縮
  • URL Rewrite
  • WebSocket および HTTP/1.1 Upgradeヘッダ[12]
  • FLV, MP4ストリーミング
  • Webページアクセス認証
  • カスタマイズ可能なログ機能
  • SPDYプロトコルサポート
  • WebDAVサポート
  • XSLTサポート
  • Server Side Includesサポート

メールプロキシ機能[編集]

その他の機能[編集]

  • 動作中にコネクションロスなく実行ファイルの更新および設定の変更ができる[13]
  • モジュールベースのアーキテクチャ[14]

関連項目[編集]

脚注・出典[編集]

  1. ^ nginx news”. 2014年9月17日閲覧。
  2. ^ nginx news”. 2014年10月21日閲覧。
  3. ^ nginx”. 2014年9月17日閲覧。
  4. ^ Use Nginx for Proxy Services and Software Load Balancing, May 11th, 2010, by Sam Kleinman, Linode Library
  5. ^ Basic Nginx Configuration by Sam Kleinman; August 21, 2010.
  6. ^ Nginx: the High-Performance Web Server and Reverse Proxy. Linux Journal. (2008-09-01). http://www.linuxjournal.com/article/10108 2009年8月16日閲覧。. 
  7. ^ June 2013 Web Server Survey” (2013年6月6日). 2013年6月12日閲覧。
  8. ^ Usage of web servers broken down by ranking” (2012年12月29日). 2013年6月7日閲覧。
  9. ^ nginx Usage Statistics” (2012年7月6日). 2012年7月9日閲覧。
  10. ^ OpenBSD Upgrade Guide: 5.1 to 5.2, 2012/11/06 15:00:27 sthen
  11. ^ Wikitech: HTTPS”. Wikitech.wikimedia.org (2011年10月3日). 2011年12月3日閲覧。
  12. ^ Proxy: support for connection upgrade (101 Switching Protocols).”. trac.nginx.org (2013年2月19日). 2013年2月21日閲覧。
  13. ^ Official documentation: Controlling nginx”. Nginx.org. 2011年12月3日閲覧。
  14. ^ Third party modules”. Nginx Wiki. 2012年9月13日閲覧。

外部リンク[編集]