1

Rack、FastCGI、Lighttpd を使用して簡単なアプリケーションを実行したいのですが、うまく動作しません。

次のエラーが表示されます。

/usr/lib/ruby/1.8/rack/handler/fastcgi.rb:23:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE)
from /usr/lib/ruby/1.8/rack/handler/fastcgi.rb:23:in `new'
from /usr/lib/ruby/1.8/rack/handler/fastcgi.rb:23:in `run'
from /www/test.rb:7

アプリケーションは次のとおりです。

#!/usr/bin/ruby
app = Proc.new do |env|
        [200, {'Content-Type' => 'text/plain'}, "Hello World!"]
end

require 'rack'
Rack::Handler::FastCGI.run app, :Port => 4000

... そして lighttpd.conf:

server.modules   += ( "mod_access", "mod_accesslog", "mod_fastcgi" )

server.port = 80
server.document-root = "/www"

mimetype.assign = (
  ".html" => "text/html",
  ".txt" => "text/plain",
  ".jpg" => "image/jpeg",
  ".png" => "image/png"
)

index-file.names = ( "test.rb" )

fastcgi.debug = 1
fastcgi.server    = ( ".rb" =>
                ((
                  "host" => "127.0.0.1",
                  "port" => 4000,
                  "bin-path" => "/www/test.rb",
                  "check-local" => "disable",
                  "max-procs" => 1
             ))
            )

誰かが私を助けることができますか?私は何を間違っていますか?

4

1 に答える 1

2

ポート 80 または 4000 ですでにいくつかのプロセスが実行されていますnetstat -anp。コマンドで確認してください。

または、システムに netstat がない場合は、ポートを 81 や 4001 に変更してみてください。

于 2010-06-13T15:56:51.740 に答える