概要
mini-httpdを使ってみたら色々と発見があったのでまとめる。
結論としては、静的コンテンツやCGIは動く・・・が、PHPへの対応状況は微妙。Wordpressに関しては動作不可能
メモリは0.1pv/sくらいのアクセスなら512KBも使用しなかった。しかしレスポンスは早くはない。
私の環境
Ubuntu16.04-x64
mini-httpd 1.23-1.2(apt-getしたもののためバージョン古い)
メモリ消費量計測はメモリ128MBのOpenVZのVPS、他はメモリ4GBのOpenVZ VPS
設定方法など
マニュアル
ややバージョンが違うがほぼ問題はない。
コンフィグ一覧
コンフィグファイルはこんな感じ。これがほぼ全項目である。シンプルすぎてほぼ説明不要。
hostの部分は加工して消している。
work_dirはどうしたらいいかわからなかったのですごくいい加減
↓こちらでSTART=1にしないと動作しない。ただしどういう具合かmini-httpdのプロセスが2重起動してエラーになる場合があるので注意。
動的コンテンツを扱う場合の注意
上記の通り、cgiの設定は#CGI Pathの1行だけであり、ファイル名でCGIかどうかを判定する。.plなら/bin/perlで実行するといった設定はできず、ファイル先頭のシェバンがすべてなので、シェバンのないCGI(バイナリ除く)は実行不可。つまりWordpressは動作しない。
できるだけ調べてみたが、CGI以外のphp-fpmやfast-cgiなどには対応していないようだ。
なので、扱える動的コンテンツは旧来のCGIのみと考えられる。
トラブルシューティング
Aug 11 05:22:11 www9 systemd[1]: Starting LSB: mini-httpd start script…
Aug 11 05:22:11 www9 mini_httpd[5520]: bind xxx.xxx.xxx.xxx – Address already in use
Aug 11 05:22:11 www9 mini-httpd[5516]: Starting web server: bind: Address already in use
Aug 11 05:22:11 www9 mini_httpd[5520]: can’t bind to any address
こんなエラーが出た場合は多分プロセスが重複起動しているか、重複させようとしている。killして再度startすれば治るかもしれない。
それ以外のエラーが出た場合は、多分コンフィグファイルが文法ミスか、dirやwork_dirで指定したディレクトリが存在しないなどが考えられる。
メモリ消費量
メモリ128MBのサーバーで動かしてサイトにポチポチアクセスしてtopで確認した感じでは、2プロセス表示されどちらともメモリ消費0.1%だった。メモリ消費量は128MBの0.2%~0.4%、つまり256KB~512KBと推定できる。
どこかで読んだサイトによると256KB程度の消費で動くそうだが、マジだった。やばい。
コメント