nginx(「エンジンエックス」)は、フリーでオープンソースな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アプリケーションサーバを配置して動的なコンテンツを配信したり、ソフトウェアロードバランサやHTTPキャッシュとしても使うこともできる。各種のウェブアプリケーション用インターフェースとして、FastCGI, uWSGI, Phusion Passengerなども標準でサポートしている。

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

利用状況

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

ネットクラフトの2017年2月の調査によると、nginxは全アクティブサイトの中で2番目に多く19.60%で使われているWebサーバである。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位となっている。W3Techの調査では、それぞれ40.1%, 31.8%である。

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

機能と特徴

ネットワーク機能

  • 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サポート

その他の機能

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

FreeNGINX

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

関連項目

  • リバースプロキシ
  • プロキシサーバ
  • Apache HTTP Server

脚注

注釈

出典

外部リンク

  • 公式ウェブサイト
    • 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

So richten und konfigurieren Sie Nginx als Reverse Proxy

How to Setup an Nginx reverse proxy for a blog Alberto Sadde

Nginx as a reverse proxy failed KodeKloud DevOps Learning Community

NGINX Reverse Proxy on Debian UNBLOG Tutorials

NGINX as a reverse proxy and its advantages True Sparrow Blog