nginx

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

nginx(「エンジンエックス」と発音[3])は、フリーかつオープンソースWebサーバである。処理性能・高い並行性・メモリ使用量の小ささに焦点を当てて開発されており、HTTP, HTTPS, SMTP, POP3, IMAPリバースプロキシの機能や、ロードバランサ、HTTPキャッシュの機能も持つ。

nginxは、BSDライクライセンスでリリースされており、LinuxBSD系OS、Mac OS XSolarisAIXHP-UXMicrosoft Windowsで動作する。2002年にIgor Sysoevによって公開され、現在は、Nginx, Inc. が管理している。

概要[編集]

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

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

利用状況[編集]

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

ネットクラフトの2015年4月の調査によると、nginxは、全アクティブサイトの中で2番目に多く使われている(14.24%)Webサーバである。W3Techsの調査によると、上位1,000サイトの41.1%、上位100,000サイトの32.9%で使われている。BuiltWithによると、上位1万Webサイトの23.8%で使われており、上位1万、10万、100万の区分において成長を続けている。

Wikipediaは、SSL接続を提供するためのプロキシとしてnginxを使用している。[7]

機能と特徴[編集]

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

主な基本HTTP機能[編集]

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

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

その他の機能[編集]

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

関連項目[編集]

脚注・出典[編集]

  1. ^ nginx news”. 2016年7月27日閲覧。
  2. ^ nginx news”. 2016年7月6日閲覧。
  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. ^ Wikitech: HTTPS”. Wikitech.wikimedia.org (2011年10月3日). 2011年12月3日閲覧。
  8. ^ Proxy: support for connection upgrade (101 Switching Protocols).”. trac.nginx.org (2013年2月19日). 2013年2月21日閲覧。
  9. ^ Official documentation: Controlling nginx”. Nginx.org. 2011年12月3日閲覧。
  10. ^ Third party modules”. Nginx Wiki. 2012年9月13日閲覧。

外部リンク[編集]