我已经使用 yum 安装了 FastCGI,并编辑了我的 lighttpd.conf,但是在重新启动服务器时收到此错误。
2009-06-24 12:44:43: (log.c.97) server started
2009-06-24 12:44:43: (mod_fastcgi.c.924) bind failed for: unix:/var/run/lighttpd/php-fastcgi.socket-0 No such file or directory
2009-06-24 12:44:43: (mod_fastcgi.c.1365) [ERROR]: spawning fcgi failed.
2009-06-24 12:44:43: (server.c.902) Configuration of plugins failed. Going down.
我的 lighttpd.conf 中关注的部分是:
fastcgi.server = ( ".php" =>
( "localhost" =>
(
#"socket" => "/var/run/lighttpd/php-fastcgi.socket",
#"bin-path" => "/usr/bin/php-cgi"
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/bin/php-cgi"
)
)
)
非常感谢。
答案1
检查lighttpd是否有权限写入/var/run/lighttpd
答案2
已修复以下更改:
mkdir /var/run/lighttpd
touch /var/run/lighttpd/php-fastcgi.socket
chown -R lighttpd:lighttpd /var/run/lighttpd
其中 lighttpd 是用户名。
更新 lighttpd.conf 中的套接字以指向 /var/run/lighttpd/php-fastcgi.socket 可解决问题。
答案3
/var/run/lighttpd
我在设置所有者为www-data
某物而不是用户时遇到了同样的问题lighttpd
。我将lighttpd
用户添加到组中www-data
,但显然有时仍然不起作用,因此我使用以下命令覆盖了 systemd 服务脚本systemctl edit lighttpd
:
/etc/systemd/system/lighttpd.service.d/override.conf
-----------------------------------------
[Unit]
Description=Lighttpd Daemon
After=network.target
[Service]
Type=simple
ExecStartPre=/bin/mkdir -p /var/log/lighttpd
ExecStartPre=/bin/chown lighttpd:lighttpd /var/log/lighttpd
ExecStartPre=/bin/mkdir -p /var/run/lighttpd
ExecStartPre=/bin/chown lighttpd:lighttpd /var/run/lighttpd
Restart=on-failure
[Install]
WantedBy=multi-user.target
答案4
touch /tmp/php-fastcgi.socket
只需使用上述命令创建文件即可。
编辑:要么您使用的是旧日志输出,要么您的配置较新。无论哪种方式,请创建 /var/run/lighttpd/php-fastcgi.socket-0 或以上内容。
塔