Nginx

nginx
作者 Igor Sysoev
開発元 Nginx Inc.
初版 2004年10月4日 (19年前) (2004-10-04)
最新版 1.25.3[1] - 2023年10月24日 (6か月前) (2023-10-24) [±]
リポジトリ
  • hg.nginx.org/nginx
ウィキデータを編集
プログラミング
言語
C言語
対応OS Unix系Microsoft Windows
種別 Webサーバリバースプロキシ
ライセンス BSDライク
公式サイト nginx.org, Nginx Inc.
テンプレートを表示

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

nginxは、BSDライクライセンスでリリースされており、Linux, BSD系OS, macOS, Solaris, AIX, HP-UX, Microsoft Windowsで動作する。2004年にIgor Sysoevによって公開された。現在はNGINX Plusとしてnginxのエンタープライズ版の販売やサポートを行っているNginx, Inc.が管理している。

2019年3月、Nginx, IncはF5ネットワークスに6億7000万米ドルで買収された。

概要

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

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

利用状況

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

ネットクラフト(英語版)の2017年2月の調査によると、nginxは全アクティブサイトの中で2番目に多く使われている (19.60%)Webサーバである[6]。W3Techsの調査によると、上位1,000サイトの41.1%、上位100,000サイトの32.9%で使われている。BuiltWithによると、上位1万Webサイトの23.8%で使われており、上位1万・10万・100万の区分において成長を続けている。2020年2月におけるNetcraftの調査によると、nginxは全てのアクティヴなWebサイトの36.48%において利用されているWebサーバで、Apacheでの利用率24.51%を上回る1位となっている[7]。 (W3Techの調査では、それぞれ40.1%, 31.8%である[8]。)

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

機能と特徴

ネットワーク機能

主な基本HTTP機能

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

メールプロキシ機能

その他の機能

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

FreeNGINX

2024年、コア開発者の一人がF5ネットワークスと対立、独立し、NGINXから離れて新たにフォーク版である「freenginx」を開発すると発表した[12]

関連項目

脚注

[脚注の使い方]

注釈

  1. ^ 日本NGINXサイトに「エンジンエックス」と表記あり。https://www.nginx.co.jp/

出典

  1. ^ “Changes with nginx 1.25.3”. 2024年1月3日閲覧。
  2. ^ “nginx”. 2014年9月17日閲覧。
  3. ^ Use Nginx for Proxy Services and Software Load Balancing, May 11th, 2010, by Sam Kleinman, Linode Library
  4. ^ Basic Nginx Configuration by Sam Kleinman; August 21, 2010.
  5. ^ “Nginx: the High-Performance Web Server and Reverse Proxy”. Linux Journal (2008年9月1日). 2009年8月16日閲覧。
  6. ^ “February 2017 Web Server Survey” (英語). Netcraft (2017年2月27日). 2017年2月7日時点のオリジナルよりアーカイブ。2017年3月18日閲覧。
  7. ^ “Netcraft February 2020 Web Server Survey”. Netcraft. Netcraft. 2019年8月16日閲覧。
  8. ^ “Usage Statistics and Market Share of Web Servers, March 2020”. w3techs.com. 2020年3月4日閲覧。
  9. ^ “Wikitech: HTTPS”. Wikitech.wikimedia.org (2011年10月3日). 2014年3月26日時点のオリジナルよりアーカイブ。2011年12月3日閲覧。
  10. ^ “Official documentation: Controlling nginx”. Nginx.org. 2011年12月3日閲覧。
  11. ^ “Third party modules”. Nginx Wiki. 2012年9月13日閲覧。
  12. ^ “NGINXのコア開発者が親会社と決別、新たに「freenginx」という名前でフォーク版を作成開始”. GIGAZINE. 2024年2月27日閲覧。

外部リンク

  • 公式ウェブサイト
    • nginx Wiki - Nginx Software Inc.
    • nginx Forum
  • Nginx inc.
  • Nginx inc.日本版
  • Geolocation with Nginx WIPmania.com
  • Nginx "HOW TO" - Fast and Secure Web Server Calomel.org
freenginx
  • freenginx
比較(英語版)
主要
その他
  • AOLserver(英語版)
  • Caddy
  • Caudium
  • Cherokee(英語版)
  • GlassFish
  • Gunicorn
  • H2O
  • Hiawatha(英語版)
  • iPlanet
  • Jetty
  • JEUS(英語版)
  • Jexus(英語版)
  • JOnAS
  • lighttpd
  • Mongoose(英語版)
  • Mongrel2(英語版)
  • Monkey(英語版)
  • NaviServer(英語版)
  • NetWeaver(英語版)
  • OpenResty(英語版)
  • Passenger
  • Paste(英語版)
  • POCO
  • Puma
  • PyGopherd(英語版)
  • Resin(英語版)
  • Roxen(英語版)
  • thttpd
  • Tomcat
  • Tornado
  • Traffic Server(英語版)
  • Twisted
  • WebLogic(英語版)
  • WEBrick
  • WebSphere
  • WildFly
  • Yaws(英語版)
  • Zope
歴史的
  • Boa(英語版)
  • CERN httpd
  • Mongrel(英語版)
  • NCSA HTTPd
  • Xitami(英語版)
  • Zeus(英語版)
  • 表示
  • 編集