Ruby-on-Rails

lighttpd fastcgi unix綁定錯誤

  • August 16, 2014

我正在嘗試將 Lighttpd 配置為使用 FastCGI 執行 Redmine。我已將以下程式碼添加到我的標準中lighttpd.conf

$HTTP["host"] =~ "^foo.bar.com$" {
 server.document-root  = "/usr/share/redmine/public/"
 index-file.names += ( "dispatch.fcgi" ) #dispatch.fcgi if rails specified
 server.error-handler-404   = "/dispatch.fcgi" #too
 fastcgi.server = (
   ".fcgi" => (
     "localhost" => (
       "socket" => "/var/run/lighttpd/rails-fastcgi.sock",
       "bin-path" => "/usr/share/redmine/public/dispatch.fcgi"
     )
   )
)
}

當我嘗試啟動 lighttpd 伺服器時,我在錯誤日誌中得到以下資訊:

May 11 10:24:05 ohio lighttpd[5527]: (log.c.166) server started 
May 11 10:24:05 ohio lighttpd[5527]: (mod_fastcgi.c.977) bind failed for: unix:/var/run/lighttpd/rails-fastcgi.sock-0 No such file or directory 
May 11 10:24:05 ohio lighttpd[5527]: (mod_fastcgi.c.1397) [ERROR]: spawning fcgi failed. 
May 11 10:24:05 ohio lighttpd[5527]: (server.c.945) Configuration of plugins failed. Going down.

誰能幫我解釋為什麼綁定一直失敗?

問題是 Lighttpd 無法執行 FCGI 程序。嘗試設置fastcgi.debug = 1並檢查錯誤日誌中是否顯示更多詳細資訊。如果這沒有幫助,請嘗試/usr/share/redmine/public/dispatch.fcgi以 Lighttpd 執行的使用者身份執行(lighttpd或者www-data取決於發行版)。

這是一個很好的線索:

綁定失敗:unix:/var/run/lighttpd/rails-fastcgi.sock-0 沒有這樣的文件或目錄

Lighttpd 不創建目錄;它希望能夠創建套接字文件。

目錄“/var/run/lighttpd”不存在,或者 Web 伺服器使用者沒有對該目錄的寫入權限。

ls -ld /var/run/lighttpd/

引用自:https://serverfault.com/questions/388266