nginx(エンジンエックス)は、Igor Sysoev氏によって2004年に公開された、フリーでオープンソースの
Webサーバーアプリケーションです。その設計思想は、高い処理性能、並行性、そして少ないメモリ使用量に重点を置いており、現代のWeb環境における要求に応えるように進化してきました。HTTP,
HTTPS, SMTP, POP3, IMAPといったプロトコルに対応し、リバース
プロキシ、ロードバランサ、HTTPキャッシュといった多岐にわたる機能を提供します。
幅広いプラットフォームでの利用
nginxはBSDライクな
ライセンスの下で公開されており、
Linux、BSD系OS、macOS、
Solaris、
AIX、
HP-UX、そして
Microsoft Windowsといった多様な
オペレーティングシステム上で動作します。当初はRamblerの
ウェブサイトのニーズを満たすために開発されましたが、現在では世界中の多くのWebサイトで利用されています。
エンタープライズ版と買収
nginxの開発とサポートは、当初はIgor Sysoev氏によって行われていましたが、後にNginx, Inc.が設立され、エンタープライズ版であるNGINX Plusの販売やサポートを行うようになりました。2019年には、Nginx, Inc.はF5ネットワークスによって6億7000万米ドルで買収されました。
nginxの概要
nginxは、静的コンテンツの高速配信を主な目的として設計されています。リバース
プロキシとしての機能により、Webアプリケーションサーバーの背後に配置して動的なコンテンツを配信したり、
ソフトウェアロードバランサやHTTPキャッシュとしても利用できます。また、FastCGI, uWSGI,
Phusion PassengerといったWebアプリケーションインターフェースを標準でサポートしています。
イベント駆動型アーキテクチャ
Apache HTTP Serverがリクエスト処理にスレッドや
プロセス指向のアプローチを用いるのに対し、nginxは非同期のイベント駆動アプローチを採用しています。このアプローチは、高負荷環境下でのパフォーマンスをより予測可能にし、効率的なリソース利用を実現します。
幅広い利用状況
nginxは、Ramblerの
ウェブサイトで1日に5億のリクエストを処理していた実績を持ちます。2017年の調査では、アクティブサイトの約20%で使用されており、W3Techsの調査では上位1000サイトの41.1%、上位10万サイトの32.9%で使用されています。Netcraftの調査によれば、2020年にはすべてのアクティブなWebサイトの36.48%で利用され、Apacheの利用率を上回りトップシェアとなっています。
主な機能と特徴
ネットワーク機能
10000以上の同時コネクション処理
負荷分散(ロードバランサ)
TLS/SSL
Server Name Indication (SNI)
OCSP stapling
フォールトトレラント性
IPv6
同時接続数や頻繁な接続の制限
帯域制限
IPアドレスベースの地理位置情報
主なHTTP機能
静的ファイル・インデックスファイルの処理、自動インデクシング
仮想サーバ(名前ベース、IPアドレスベース)
FastCGI・uWSGI・SCGIサポート(キャッシュ機能あり)
リバース
プロキシ(キャッシュ機能あり)
gzip圧縮・解凍、事前gzip圧縮
URL書き換え
WebSocketとHTTP/1.1 Upgradeヘッダー
FLV、
MP4ストリーミング
Webページアクセス認証(HTTP認証)
カスタマイズ可能なログ機能
SPDY、HTTP/2|HTTP_2プロトコルサポート
WebDAVサポート
XSLTサポート
Server Side Includes (SSI)サポート
メールプロキシ機能
SMTP、POP3、IMAPの
プロキシ
STARTTLSサポート
その他の機能
動作中に接続を中断することなく、実行ファイルの更新や設定変更が可能
モジュールベースのアーキテクチャ
FreeNGINXの登場
2024年には、コア開発者の一人がF5ネットワークスとの対立から独立し、nginxのフォーク版である「freenginx」を開発すると発表しました。この動きは、nginxコミュニティに新たな展開をもたらす可能性があります。
関連情報
リバースプロキシ
プロキシサーバー
Apache HTTP Server
外部リンク
ウェブサイト'>公式
ウェブサイト
nginx Wiki
nginx Forum
Nginx inc.
Nginx inc.日本版
Geolocation with Nginx WIPmania.com
Nginx "HOW TO" - Fast and Secure Web Server Calomel.org
freenginx
freenginx