Ruby-on-Rails
lighttpd fastcgi unix綁定錯誤
我正在嘗試將 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/