【軽量】lighttpd【通常の3倍】
Apache2の2-3倍速いといわれている lighttpdについて語りましょう。 ttp://pcweb.mycom.co.jp/news/2005/09/02/007.html ttp://www.pochi.cc/~sasaki/chalow/2005-08-30-9.html セキュリティや機能の追加追加で重くなっていくんだな Cygwin 版 1.4.8-1 来てますね。 CGI が動く様になってる模様です。 ttp://forum.lighttpd.net/topic/97#new チラシの裏なんだが、、、 Debianでarm版のlighttpdがあるかと思ってDebianのサイトで探していたのですが unstableでばっちり揃っていてでびっくりしていたのもつかの間、本家lighttpdサイト いったら、Windowsネイティブ版もあったYO。 開発早いよ、、、 debian etch のlighttpd 1.4.8-2,php4-cgi4.4.2-1といった環境なのだが、 ssl有効にしてfastcgi環境でのphpなページに京ぽん2のopera7でアクセスしたら 一回のリクエストでなぜか3回くらいリロードされる。 静的なhtmlでは起きない。 sslをオフにすりゃ現象は起きない。 他のブラウザ(safariやfirefox)でも起きない。 普通のcgiモジュール環境でも同様だった。 lighttpdのssl実装がわりーのかな。opera7がわりーのかな。 とりあえずssl使うのやめた。 >>39 どうも Opera だとそうなるっぽい IE6, Firefox 1.5 だとリロードは起こらないけれど Opera 8.5 では二、三回リロードされた サーバは Debian sid で lighttpd-1.4.10-1, php4-cgi-4.4.2-1 SSL 証明書は自己証明書 SSL 有効にしたら HTTP を LISTEN してくれないけど、 これってどこで設定するの? うへ、PC用のoperaでもなるのか。 携帯ブラウザだし仕方ネーのかなーなんて諦めてたのだが。 $SERVER["socket"] == "127.0.0.1:443" { ssl.pemfile = "/var/www/certs/localhost.pem" ssl.engine = "enable" server.document-root = "/var/www/htdocs/secure.example.org/pages/" } こんな感じにすればhttp,https共にlistenしてくれる。 >>41 できました。サンクス 複数起動しないといけないのかと思ってた gracefulオプションないのかよ てかapachectlみたいなのも作れよと思う >>38 windowsネイティブ版ってどこにありました? lighttpd.netからリンクされてた http://www.kevinworthington.com:8181/ にあった lighttpd 1.4.10 for Windows てやつはcygwinのランタイムが いっしょにアーカイブされてるだけだったので… >45 ごめん、ネイティブって書き方が悪かった。>45が見つけたcygwinのランタイムが アーカイブされているやつのことを指しております。 とりあえず、吊ってくるよ、、、orz Windows版はありません てかVMWarePlayerでLinux動かしてそこにインストールすればよい WindowsでLighttpdは動いたけど、fast.cgiがWinで使えないって ことですか? cygwinのlighttpdでFastCGI動くよ。 ソケット作るあたりがうまくいかないみたいで外部プロセスにしてTCPで待ちうけさせればOK。 どうすればも何もふつーにcygwinのsetupからlighttpd入れて server.modules += ("mod_fastcgi") fastcgi.server = ( "/app1" => ( "localhost" => ( "host" => "127.0.0.1", "port" => 10021, "check-local" => "disable" ))) ってな感じにして。 で、cygwinのperlにCatalystを適当につっこんでapp_fastcgi.pl -l :10021で受けさせた。 これでとりあえず普通に動くっぽいことは確認できた。 これ以上のことはFastCGIアプリ側やlighttpdのバージョンにもよりけりだから何とも言いようが無い。 Cygwinのランタイムが入ってるほうじゃなくて、Cygwinを入れるのね。 ありがとう。出来るか自信無いけどやってみる。 いや、別にCygwinランタイム付のでもできると思うけど。 単にランタイム付をインストールしたら元から入れてたcygwinが起動しなくなった。 で、バージョンアップかけるついでにcygwinのsetupからlighttpdを入れたというだけのことで。 ただその後のFastCGIアプリをどう作るかとか考えたらCygwin環境を用意するのも良いかと。 設定してみた。 ログにmissing cleanup in fastcgi ってエラーでてるけど動いてるっぽい。でも大して早くなってないような・・・ この程度のことしか出来なくてすまん。 3倍速くて、負荷も1/3って本当? だったら何故みんなapacheから移行しないの? 安定してない? 速度や負荷軽減が重要なほどのサーバは総じて複雑なことも できてくれないとならんのでねぇ 複雑なことができる様にすると、重くなる傾向にあるしな 高速でセキュアな動作を目標に開発されたWeb サーバ 高速なのは分かったが、apacheと比べてセキュアな点を教えて下さい "lightTPD is the BEST webserver out there, much faster than apache and much much much more flexible/configurable/secure than tux, and its fcgi php support is simply unbeatable." - Viktors Rotanovs とトップに書いてあるな。 で、どう読むと apache に比べてセキュアと読めるんだ? >>61 あら、違うのか どっかの日本語サイトに書いてあったからさ lighttpd-1.4.10@FreeBSD 6.0-RELEASE だとコンパイルエラー出たーマンドクセ('A`) 手持ちの1.4.3だと通ったーアーマンドクセ('A`) Windowsパッケージのlighttpd(Not Cygwin)ってlocalhostだけで外部に公開できない? そんな訳無いか… bind のデフォルトはALLになってるよ。 明示的にALLにするにはどうすればいいかは 3分前にインストールしたばかりなのでわからない 2時間前にインストールしたばかりだけど loaclhostでは動くようになったが外部に公開する方法が分からない ググッてもfor Windowsの方がちっとも出てこない だからbindのデフォルトはALLだってば 何をもってlocalhost以外がダメと判断したの あちゃ、DDNS通してアクセスしても(勿論hostsは記載済み)駄目だったからから 今携帯から見てみたら行けた、ごめん あとはVirtualHostか、これも説明見ても設定のルールがよく分からないんだよね… ググッてもlighttpdってほんと少ないなあ アクセスログのTimeが9時間遅れになるので、 日本基準に合わせるために+0900するには、どうすればいいんでしょう? >>68 llighttpd.conf をデフォルトのままで、 $HTTP["host"] == "xxx.xxxx.com" { server.document-root = "C:/lighttpd/htdocs2/" } と追加しただけでいけたが。 >>69 ソース見たが、コンパイル時に決まる気がする・・・ 鯖の反応が無くなったので見てみたら、lighttpd.exeとPerl.exeが大量に溜まってた cgiの処理が返せないとそのまま雪だるま式に溜まっていくみたいだけどこれなんとかならんかね exe 等という拡張子が必要な OS をやめればいいんじゃないかな。 ほかでは問題ないの? タイムアウトが効いてないのかな Win版ってまだβとかじゃなかったっけ? タイムアウトとかどうとかよりループしてたりリークしてたりじゃねーの 俄然Windowsで鯖を立てたくなってきた件について あと立てて無いのはWindows鯖だけだから、そろそろ挑戦しようかな DOS は、ネットワークがちょっと大変だった記憶があるな。 というか、最近はドライバ付いてないんじゃないか? ローカルからのアクセスだったら、accesslogに書き込みしたくないんですが、 それってできます? $HTTP["remoteip"] != "127.0.0.1" { accesslog.filename = var.logdir + "/access.log" } 今 話題の三国屋でも使われているlighttpd かれこれ50万アクセスにも耐えるすご物。 ttp://uptime.netcraft.com/up/graph?site=www.mikuniya-web.co.jp http://basecamphq.com/forum/viewtopic.php?pid=11917 ここにLighttpdはPOSTの時のデータの長さに関しての話が出てるけど 英語がさっぱりな俺は読めない・・・。 なんてかいてあるの? 実は、今C♯でPOSTを行うプログラム書いてるんだけど、Apacheの鯖に関しては大丈夫なんだが Lighttpdに関しては、レスポンス取得でエラーが出るんだ。 >>87 バグ満載って事さ 想定外なんだろ、そういう利用は lighttpdより速いらしい。 nginx http://nginx.net/ lighttpdにPHP5を導入して運営していたのですが mb_stringが必要になったので、導入したのです そしたら [root@www modules]# 2006-10-05 06:30:12: (mod_fastcgi.c.1048) the fastcgi-backend /usr/bin/php-cgi failed to start: 2006-10-05 06:30:12: (mod_fastcgi.c.1063) terminated by signal: 11 2006-10-05 06:30:12: (mod_fastcgi.c.1068) to be exact: it seg-fault, crashed, died, ... you get the idea. 2006-10-05 06:30:12: (mod_fastcgi.c.1070) If this is PHP try to remove the byte-code caches for now and try again. 2006-10-05 06:30:12: (mod_fastcgi.c.1356) [ERROR]: spawning fcgi failed. 2006-10-05 06:30:12: (server.c.834) Configuration of plugins failed. Going down. こんなエラーを吐くようになって、起動すら出来なくなりました。 もしかしてlighttpdというかfast-cgiってマルチバイト不可? try to remove the byte-code caches for now and try again. >>93 php.ini内でmb_string.koを入れるとそうなる。 mb_stringをモジュールとしてインストールするか、組み込んだ時点で有効になってるので、モジュールをわざわざロードするように書く必要ないよ。 formタグのactionプロパティに実行ファイルのフルパス指定すると、postデータがリクエストされないのは俺だけ? 相対パスのみうまくいくんだよなぁ、、 catalystも使ってんだけど、そっちが原因なのか? 誰か同じ現象起きた人いる? apache の log_config_module で 特定のIPアドレスに対して アクセスログを取らないように dontlog と設定できるけど、 同じことを lighttpd でやることはできる? proxyモジュールがapacheと比べるとよく死なない? Zopeをproxyで繋いでるんだけど、lighttpdだと、 F5キー10回連打するくらいで、エラー出しちゃって 再接続行うから、移行できない(´・ω・) リバースプロクシ?なら素直にsquid使った方がいいんじゃないの 画像の多いページで落ちるならともかく、F5を連打するのはチョンくらいなので問題なし。 >>109 リバープロクシって感じになるのかな。 TomcatをajpでApacheに繋ぐようなイメージです。 lighttpdで使ってるところでも結構表に出てるのは、Squidって事が多いのかな? >>110 F5キー10回押すだけで、エラー出ちゃうのはさすがに問題あると思うんだ。 まともにproxyモジュール使えてる人がいるのか知りたいです。 lighttpd for Windowsってのを導入したくて 落として来た物を↓のサイトの通りに設定した所、起動せず ttp://d.hatena.ne.jp/takatoh/20070111/lighttpd それでTestMode.bat起動すると、「base-docroot doesn't exist: C:/kighttpd/htdocs/」 ちなみにこのパスはデフォのまま弄ってないしフルパスも合ってるんですが見つけてくれません それと「(server.c.595) setting default values failed」とも表示されこの2つが原因みたいです 落としたばかりなんでやり直しは全然出来るんですがこれしか弄ってないので… 出来れば教えて貰いたいです winXP-SP3、Apache2.2、PHP5.2.6です >>112 C:\kighttpd\htdocs\じゃないの? >>113 すいませんタイプミスしました orz C:/lighttpd/htdocs/でやってるんですが見つけてくれません htdocsの中はindex.htmlとlight_button.pngとlight_logo.pngだけです >>114 だからwindowsなら"/"じゃなくて"\"じゃないの? WindowsでもAPI上は"/"でもいいんだけどね。 アプリ自体が通さない場合もあるけど。 それにそこのバイナリって結局Cygwin使ってるみたいだから 素直に最新がつかえるCygwin経由で導入した方がいいとおもう。 これバーチャルホストでcgiが使えないよ。本ホストでは使えるのに。 「単純なHTMLファイルの読み込みだと、apacheに比べて約3倍高速。PHPの実行は約1.1倍apacheの方が早い。」そうです。 ttp://www.tymy.net/~matsu/blog/2008/12/11/lighttpd%e3%83%99%e3%83%b3%e3%83%81%e3%83%9e%e3%83%bc%e3%82%af/ FreeBSDでlighttpd使ってるんだけど、とあるミラーサイトしてて、ちょっと悩んでるので なにかヒントでもあれば教えてください。 該当ファイルに対するアクセスがかなりあるのですが、server-statusで見てみると、 Written, State: 0/10000, write のように、writeしてるんだけど、実際データを全然送信していないように見えるコネクションが かなり多数残ってしまっています。 このコネクションのせいでコネクションがかなり増えてしまう(100以上)状態なのですが、 これってなにが原因なのでしょうか? よくあるDisptch.fcgiで実装してるんだけど STDINのとり方がわからない。 Embedされたプログラムにどうやって渡すのがいいのかな? phpMyadminでログイン画面に「クッキーを有効にしてください」と出ます。 環境はlighttpd+php+mySQL+phpMyadminです。 ブラウザはChromeとIEを使っています。 問題となっているのは以下のアドレスです。 ttp://219.115.242.99/phpmyadmin/ accesslog.formatの時刻のフォーマット指定の方法わかる? apacheだと %{%Y/%m/%d %H:%M:%S}t でいけたけど、 lighttpdだと[]で囲ったデフォルトフォーマットぽいのが出る Linuxで勝手にLighttpdが止まる問題について、解決方法があれば教えてくれ。 このユーザーエージェントを弾きたいのですが Pockey-GetHTML/5.1.1 (Win32; GUI; ix86)" $HTTP["useragent"] =~ "Pockey-GetHTML\." {url.access-deny = ( "" )} これではうまくいきません どうしたらいいでしょうか $HTTP["useragent"] =~ "Pockey-GetHTML" {url.access-deny = ( "" )} これで普通にいけました おさがわせしましたなう 正規表現で拡張子がPHPのファイルを指定し、アクセスさせない、ってのをしたいんですけど、 $HTTP["url"] == "\.(php)$" { url.access-deny = ( "" ) } http://exprode.net/index.php?id=087 http://exprode.net/index.php?id=908700 http://exprode.net/index.php?id=adomin これ全てに適用させるにはどうしたらいいでしょうか? read.cgi ver 07.4.7 2024/03/31 Walang Kapalit ★ | Donguri System Team 5ちゃんねる