ls -ld /var/run/lighttpd/

ls -ld /var/run/lighttpd/

我正在尝试配置 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"
      )
    )
)
}

当我尝试启动 lig​​httpd 服务器时,错误日志中出现以下内容:

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.

有人能帮助我解释为什么绑定总是失败吗?

答案1

问题是 Lighttpd 无法执行 FCGI 程序。尝试设置fastcgi.debug = 1并检查错误日志中是否显示更多详细信息。如果这没有帮助,请尝试/usr/share/redmine/public/dispatch.fcgi以 Lighttpd 运行的用户身份执行(lighttpdwww-data取决于发行版)。

答案2

这是一个很好的线索:

绑定失败:unix:/var/run/lighttpd/rails-fastcgi.sock-0 没有此文件或目录

Lighttpd 不创建目录;它希望能够创建套接字文件。

目录“/var/run/lighttpd”不存在,或者 Web 服务器用户没有该目录的写权限。

ls -ld /var/run/lighttpd/

相关内容