nginx
作者Igor Sysoev
開発元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
概要
Apache HTTP Serverがリクエストの処理にデフォルトでスレッドやプロセス指向のアプローチを用いている一方で、nginxは非同期(英語版)のイベント駆動アプローチを用いている。イベント駆動によるアプローチは、高負荷下において、より予測可能なパフォーマンスを提供すると考えられている[4]。 nginxは当初、Ramblerが運営する各種ウェブサイトのニーズを満たすために開発された。2008年9月の時点で、nginxはこれらのサイトで1日に5億のリクエストを処理していた[5]。 ネットクラフト
利用状況
Wikipediaは、SSL接続を提供するためのプロキシとしてnginxを使用している[9]。 2024年、コア開発者の一人がF5ネットワークスと対立、独立し、NGINXから離れて新たにフォーク版である「freenginx」を開発すると発表した[12]。
機能と特徴
ネットワーク機能
10000以上の同時コネクションの処理
負荷分散(ロードバランサ)
TLS/SSL
Server Name Indication
OCSP stapling
フォールトトレラント性
IPv6
同時コネクション数や頻繁なコネクションの制限
帯域制限
IPアドレスベースの地理位置情報 (geolocation)
主な基本HTTP機能
静的ファイル・インデックスファイルの処理、自動インデクシング
仮想サーバ
名前ベース
IPアドレスベース
FastCGI・uWSGI(英語版)・SCGI(英語版) サポート(キャッシュ機能あり)
リバースプロキシ(キャッシュ機能あり)
gzip圧縮・解凍、事前gzip圧縮
URL書き換え(英語版)
WebSocket および HTTP/1.1 Upgradeヘッダー
FLV, MP4ストリーミング
Webページアクセス認証(HTTP認証)
カスタマイズ可能なログ機能
SPDYプロトコルサポート
HTTP/2プロトコルサポート
WebDAVサポート
XSLTサポート
Server Side Includesサポート
メールプロキシ機能
SMTP・POP3・IMAPのプロキシ
STARTTLSサポート
その他の機能
動作中にコネクションロスなく実行ファイルの更新および設定の変更ができる[10]
モジュールベースのアーキテクチャ[11]
FreeNGINX
関連項目
リバースプロキシ
プロキシサーバ
Apache HTTP Server
脚注[脚注の使い方]
注釈^ 日本NGINXサイトに「エンジンエックス」と表記あり。https://www.nginx.co.jp/
出典^ “Changes with nginx 1.25.3”. 2024年1月3日閲覧。
^ “nginx”. 2014年9月17日閲覧。
^ ⇒Use Nginx for Proxy Services and Software Load Balancing, May 11th, 2010, by Sam Kleinman, Linode Library
^ ⇒Basic Nginx Configuration by Sam Kleinman; August 21, 2010.
^ “ ⇒Nginx: the High-Performance Web Server and Reverse Proxy”. Linux Journal (2008年9月1日). 2009年8月16日閲覧。
^ “February 2017 Web Server Survey” (英語). Netcraft (2017年2月27日). 2017年2月7日時点のオリジナルよりアーカイブ。2017年3月18日閲覧。
^ “Netcraft February 2020 Web Server Survey”. Netcraft. Netcraft. 2019年8月16日閲覧。
^ “Usage Statistics and Market Share of Web Servers, March 2020”. w3techs.com. 2020年3月4日閲覧。
^ “Wikitech: HTTPS”. Wikitech.wikimedia.org (2011年10月3日). 2014年3月26日時点のオリジナルよりアーカイブ。2011年12月3日閲覧。
^ “ ⇒Official documentation: Controlling nginx”. Nginx.org. 2011年12月3日閲覧。
^ “Third party modules”. Nginx Wiki. 2012年9月13日閲覧。
^ “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
表
話
編
歴
Webサーバソフトウェア
比較(英語版)
主要
Apache HTTP Server
nginx
IIS
IIS Express
LiteSpeed Web Server(英語版)
その他
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(英語版)
.mw-parser-output .asbox{position:relative;overflow:hidden}.mw-parser-output .asbox table{background:transparent}.mw-parser-output .asbox p{margin:0}.mw-parser-output .asbox p+p{margin-top:0.25em}.mw-parser-output .asbox{font-size:90%}.mw-parser-output .asbox-note{font-size:90%}.mw-parser-output .asbox .navbar{position:absolute;top:-0.90em;right:1em;display:none}
この項目は、ソフトウェアに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(PJ:コンピュータ/P:コンピュータ)。
.mw-parser-output .hlist ul,.mw-parser-output .hlist ol{padding-left:0}.mw-parser-output .hlist li,.mw-parser-output .hlist dd,.mw-parser-output .hlist dt{margin-right:0;display:inline-block;white-space:nowrap}.mw-parser-output .hlist dt:after,.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{white-space:normal}.mw-parser-output .hlist li:after,.mw-parser-output .hlist dd:after{content:" ・\a0 ";font-weight:bold}.mw-parser-output .hlist dt:after{content:": "}.mw-parser-output .hlist-pipe dd:after,.mw-parser-output .hlist-pipe li:after{content:" |\a0 ";font-weight:normal}.mw-parser-output .hlist-hyphen dd:after,.mw-parser-output .hlist-hyphen li:after{content:" -\a0 ";font-weight:normal}.mw-parser-output .hlist-comma dd:after,.mw-parser-output .hlist-comma li:after{content:"、";font-weight:normal}.mw-parser-output .hlist-slash dd:after,.mw-parser-output .hlist-slash li:after{content:" /\a0 ";font-weight:normal}.mw-parser-output .hlist dd:last-child:after,.mw-parser-output .hlist dt:last-child:after,.mw-parser-output .hlist li:last-child:after{content:none}.mw-parser-output .hlist dd dd:first-child:before,.mw-parser-output .hlist dd dt:first-child:before,.mw-parser-output .hlist dd li:first-child:before,.mw-parser-output .hlist dt dd:first-child:before,.mw-parser-output .hlist dt dt:first-child:before,.mw-parser-output .hlist dt li:first-child:before,.mw-parser-output .hlist li dd:first-child:before,.mw-parser-output .hlist li dt:first-child:before,.mw-parser-output .hlist li li:first-child:before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child:after,.mw-parser-output .hlist dd dt:last-child:after,.mw-parser-output .hlist dd li:last-child:after,.mw-parser-output .hlist dt dd:last-child:after,.mw-parser-output .hlist dt dt:last-child:after,.mw-parser-output .hlist dt li:last-child:after,.mw-parser-output .hlist li dd:last-child:after,.mw-parser-output .hlist li dt:last-child:after,.mw-parser-output .hlist li li:last-child:after{content:")\a0 ";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)" ";white-space:nowrap}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)" "}.mw-parser-output .navbar{display:inline;font-size:75%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}.mw-parser-output .infobox .navbar{font-size:88%}.mw-parser-output .navbox .navbar{display:block;font-size:88%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}
表示
編集