mini-httpdの紹介と使用感

概要

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

設定方法など

マニュアル

ややバージョンが違うがほぼ問題はない。

http://manpages.ubuntu.com/manpages/trusty/man8/mini-httpd.8.html

コンフィグ一覧

コンフィグファイルはこんな感じ。これがほぼ全項目である。シンプルすぎてほぼ説明不要。

hostの部分は加工して消している。

work_dirはどうしたらいいかわからなかったのですごくいい加減

↓こちらでSTART=1にしないと動作しない。ただしどういう具合かmini-httpdのプロセスが2重起動してエラーになる場合があるので注意。

自動起動設定

どういうわけか/etc/init.dやserviceコマンドから動かすと機嫌が悪かったが、systemctlでenableしたところうまく動作した。

動的コンテンツを扱う場合の注意

上記の通り、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程度の消費で動くそうだが、マジだった。やばい。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)