nginx+mod_zip


サーバにあるファイルとか、でかいデータをzipに固めてダウンロード、という特殊だけどたまに欲しくなる機能を作る場合に、nginx+mod_zipは便利です。

そもそも、mod_zipを使わなくても、アプリでがんばってzipを作るっていう選択肢もあるにはあります。(pythonだとzipモジュールがあるので、比較的気軽にzipは生成できます)
しかし、前提条件として、zipに固めたくなる場合は、中身のサイズが結構大きくなることが多いと思います。
そうすると、アプリでとりあえず素直に、データ読み込み→zipに追加を繰り返していくと、メモリをがっつり使うか、一時ファイルを作るしかなくなります。
最近触るサーバは、8GBくらいのSSDしか載せてなくて、ramfsなものが大半なので、正直、どちらもあまりやりたくありません。

そこで、むしろメモリ余ってるのはリバースプロキシ側だろということで、アプリは最低限の処理だけをして、
zipの生成はリバースプロキシ側でやってくれるのが、mod_zipです。