Skip to content
Artwork for 八百万のOSS
八百万のOSS · June 16 · 46 min

#7 nginxを使わない理由がない?Webアプリを楽にするリバースプロキシの基本

nginxは「速いWebサーバー」というより、Webアプリケーションの前段でクライアントとの通信を受け持つ定番OSSです。 遅いクライアント、大量接続、静的ファイル配信、gzip圧縮、バッファリング、キャッシュをnginxに任せることで、アプリケーションサーバーは本来の処理に集中できます。 今回は、C10K問題、イベント駆動、ノンブロッキングI/Oといったnginxの基本的な考え方から、静的ファイル配信、gzip、upstream keepalive、古いコピペ設定が変わりつつある話までを取り上げました。 「とりあえずnginxを置く」と言われがちな理由を、設定例の暗記ではなく、Webアプリケーションを楽にするための役割分担として整理していきます。 EnvoyやPingoraとの違い、Cloudflareで使われてきた実績、そして「全部入り」はUnix哲学に反するのか、という話も取り上げています。 nginxをなんとなく使っている人にも、設定の意味を改めて整理したい人にも楽しめる回です。 - nginx: https://nginx.org/ - freenginx: https://freenginx.org/ - NGINX Plus(エンタープライズ版): https://www.f5.com/products/nginx/nginx-plus - Envoy: https://www.envoyproxy.io/ - Pingora(Cloudflareのプロキシ実装): https://github.com/cloudflare/pingora - H2O(Fastlyで使われるHTTPサーバー): https://github.com/h2o/h2o - PHP: https://www.php.net/ - Node.js: https://nodejs.org/ - AWS ALB(Application Load Balancer): https://aws.amazon.com/elasticloadbalancing/application-load-balancer/ - Cloudflare: https://www.cloudflare.com/ - Fastly: https://www.fastly.com/ - Mercurial: https://www.mercurial-scm.org/ - OpenSSL: https://www.openssl.org/ - Redis: https://redis.io/ - Go: https://go.dev/ - epoll(Linux man page): https://man7.org/linux/man-pages/man7/epoll.7.html ───────────── YouTube: https://youtu.be/e8lkL79n9KU Web: https://yaoyorozu-oss.henteko07.com/ X: https://x.com/yaoyorozu_oss

0:00-46:49

transcript

No transcript — this publisher did not publish one.

show notes

nginxは「速いWebサーバー」というより、Webアプリケーションの前段でクライアントとの通信を受け持つ定番OSSです。


遅いクライアント、大量接続、静的ファイル配信、gzip圧縮、バッファリング、キャッシュをnginxに任せることで、アプリケーションサーバーは本来の処理に集中できます。


今回は、C10K問題、イベント駆動、ノンブロッキングI/Oといったnginxの基本的な考え方から、静的ファイル配信、gzip、upstream keepalive、古いコピペ設定が変わりつつある話までを取り上げました。


「とりあえずnginxを置く」と言われがちな理由を、設定例の暗記ではなく、Webアプリケーションを楽にするための役割分担として整理していきます。


EnvoyやPingoraとの違い、Cloudflareで使われてきた実績、そして「全部入り」はUnix哲学に反するのか、という話も取り上げています。


nginxをなんとなく使っている人にも、設定の意味を改めて整理したい人にも楽しめる回です。


- nginx: https://nginx.org/

- freenginx: https://freenginx.org/

- NGINX Plus(エンタープライズ版): https://www.f5.com/products/nginx/nginx-plus

- Envoy: https://www.envoyproxy.io/

- Pingora(Cloudflareのプロキシ実装): https://github.com/cloudflare/pingora

- H2O(Fastlyで使われるHTTPサーバー): https://github.com/h2o/h2o

- PHP: https://www.php.net/

- Node.js: https://nodejs.org/

- AWS ALB(Application Load Balancer): https://aws.amazon.com/elasticloadbalancing/application-load-balancer/

- Cloudflare: https://www.cloudflare.com/

- Fastly: https://www.fastly.com/

- Mercurial: https://www.mercurial-scm.org/

- OpenSSL: https://www.openssl.org/

- Redis: https://redis.io/

- Go: https://go.dev/

- epoll(Linux man page): https://man7.org/linux/man-pages/man7/epoll.7.html


─────────────

YouTube: https://youtu.be/e8lkL79n9KU

Web: https://yaoyorozu-oss.henteko07.com/

X: https://x.com/yaoyorozu_oss