Я пытаюсь настроить Lighttpd для запуска Redmine с помощью FastCGI. Я добавил следующий код в свой стандартный 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» не существует, либо пользователь веб-сервера не имеет прав на запись в этот каталог.