Fastcgi

Trac 1.0.1 的全新安裝拒絕使用 FastCGI 執行

  • February 20, 2013

我有一個新安裝的執行Debian 擠壓的伺服器。我已經使用. _ _ easy_installTrac 在開始使用時執行良好tracd。現在我正在嘗試配置 lighttpd 以使用 FastCGI 執行 Trac。我對 FastCGI 連接使用以下配置:

fastcgi.server = (
   "/project" => (
       (
           "socket" => "/tmp/trac-fastcgi-first.sock",
           "bin-path" => "/usr/local/lib/python2.6/dist-packages/Trac-1.0.1-py2.6.egg/trac/web/fcgi_frontend.py",
           "check-local" => "disable",
           "bin-environment" => ("TRAC_ENV" => "/var/trac/project")
       )
   )
)

當我使用 啟動 lighttpd 時lighttpd -D -f /etc/lighttpd/lighttpd.conf,它只是列印: No such file or directory並退出。我認為這與 lighttpd 的配置沒有任何關係,如果我直接執行後端腳本,使用/usr/local/lib/python2.6/dist-packages/Trac-1.0.1-py2.6.egg/trac/web/fcgi_frontend.py,它只會列印: No such file or directory.

有沒有人有同樣的問題?我什至從哪裡開始尋找問題?

似乎在使用 安裝的 Trac 的發行版中easy_install Trac=1.0.1,至少下面的 FastCGI 包裝腳本文件/usr/local/lib/python2.6/dist-packages/Trac-1.0.1-py2.6.egg/trac/web/fcgi_frontend.py是使用 CRLF 行結尾編碼的。這會導致 shebang 行無法被核心正確讀取,並導致奇怪的錯誤消息。

從文件中刪除所有 CR 字元可解決問題:

$ cd /usr/local/lib/python2.6/dist-packages/Trac-1.0.1-py2.6.egg/trac/web/
$ tr -d '\r' < fcgi_frontend.py > fcgi_frontend.py~
$ mv fcgi_frontend.py~ fcgi_frontend.py
$ chmod a+x fcgi_frontend.py

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