一時期軽量webサーバとして話題になったlighttpdについて、適当にメモ書く。 バーチャルホストlighttpのvirtual host設定はこんな感じでやるわけです。 ホスト名ベースだとこんな感じで、$HTTP["host"]で条件分けします $HTTP["host"] == "www2.example.co.jp" { include "sites-enabled/www2" } ホストは192.168.220.10と192.168.220.11の二つipを持つと思いねぇ。 $SERVER["socket"] == "192.168.220.10:80" { include "sites-enabled/site1" } $SERVER["socket"] == "192.168.220.10:81" { include "sites-enabled/site2" }
$SERVER["socket"] == "192.168.220.11:80" { include "sites-enabled/site3" } ここで問題が一つ。この状況下でlighttpd.confの設定が以下の時、どうなるか。 server.port = 80 #server.bind = "127.0.0.1" bindするipアドレスを指定しないと、こんなエラーが出ます。 (network.c.379) can't bind to port: 192.168.220.10 80 Address already in use lighttpdはserver.bind:server.portにbindした後に、$HTTP["host"]の条件式へbindしに行くようです。で、server.bindの初期値は0.0.0.0(INADDR_ANY)だから、まず0.0.0.0:80へbindして、次に192.168.220.10:80へbindしようとする。しかし、0.0.0.0:80へbindした時点で192.168.220.10:80もbindしてる→already in useになると。 なので、先に192.168.220.10:80へbindしないようにすればいい。 server.port = 80 server.bind = "127.0.0.1" ということでした。 |
めも。 >