Найти - Пользователи
Полная версия: nginx + trac
Начало » Web » nginx + trac
1 2
Mkdir
Всем привет.
Кто-то запускал Trac через fastcgi под nginx?
Проблема в том, что Trac не создаёт файлового сокета, а nginx требует его.
j2a
Ну fastcgi работает либо через unix socket, либо tcp. nginx умеет и то, и другое. Видимо, если Trac не умеет unix socket, то он умеет tcp. В nginx в параметре fastcgi_pass вместо unix:/path/to/socket указываешь host:port. Подробности см. http://sysoev.ru/nginx/docs/http/ngx_http_fastcgi_module.html
Mkdir
j2a
Ну fastcgi работает либо через unix socket, либо tcp. nginx умеет и то, и другое. Видимо, если Trac не умеет unix socket, то он умеет tcp. В nginx в параметре fastcgi_pass вместо unix:/path/to/socket указываешь host:port.
Так в том-то и дело, что не host:port. Я на nginx цеплял свои сервера и на файловый и на tcp-сокеты.
А вот Trac имеет следующую точку входа: /usr/local/share/trac/cgi-bin/trac.fcgi

Если через lighttpd подключать, то в качестве обслуживающего бинарника (bin-path) указывается полный путь к trac.fcgi, а в качестве сокета пишецо /tmp/trac-fastcgi.sock
То есть, насколько я понял, lighttpd запускает trac.fcgi и создаёт для него как-то файловый сокет /tmp/trac-fastcgi.sock? :-/
Или как? Я что-то вообще не соображу никак.

Я думал, что можно запустить бинарник отдельно, и он будет висеть как standalone server и создаст файловый сокет, который я и укажу в nginx. Но не тут-то было. trac.fcgi запускается и вылетает с ошибкой: “Мне не передали TRAC_ENV в качестве fastcgi environment variable.”

Собственно, я и так слабо разбираюсь в WSGI а тут еще такой прикол )
Mkdir
Вот пример как подключать Trac к lighttpd. Все работает прекрасно.
fastcgi.server = ("/trac" =>
("trac" =>
("socket" => "/tmp/trac-fastcgi.sock",
"bin-path" => "/usr/local/share/trac/cgi-bin/trac.fcgi",
"check-local" => "disable",
"bin-environment" =>
("TRAC_ENV" => "/path/to/projenv")
)
)
)
Но ведь у nginx только один параметр - fastcgi_pass, где по-хорошему нужно указать: unix:/tmp/trac-fastcgi.sock
Тогда кто запустит trac.fcgi?
Mkdir
lorien
Я не в курсе специфики реализации трака, но у меня предположение, если он требует TRAC_ENV, может быть, стоит ему его дать? )
Давал ) Не хочет работать. Рвёт коннекшен.
location / {
fastcgi_pass unix:/usr/local/share/trac/cgi-bin/trac.fcgi;
fastcgi_param TRAC_ENV /var/projects;
....
}
Но так нельзя делать. Ведь trac.fcgi это не файловый сокет.
j2a
http://www.freesource.info/wiki/Stat'i/TracNginx ?
Mkdir
j2a
http://www.freesource.info/wiki/Stat'i/TracNginx ?
=))))
Открываю ссылку: “Такой страницы не существует. Хотите создать?”
Создам когда решение найду ))
Mkdir
Самое интересное что ссылка оказалась правильной, вот только форум почему-то в href убирает апостроф после t.
Получается Stati вместо Stat'i.

За ссылку спасибо.
j2a
Mkdir
j2a
http://www.freesource.info/wiki/Stat'i/TracNginx ?
=))))
Открываю ссылку: “Такой страницы не существует. Хотите создать?”
Создам когда решение найду ))
Форум кавычку съел :) Попробуй этот URL: http://www.freesource.info/wiki/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D0%B8/TracNginx
Mkdir
А по-моему гимморно делать через spawn-fcgi.
Компилить еще что-то надо, что-то куда-то прописывать ;)
Может ну его нафиг тот nginx? Буду использовать lighttpd.
Хотя, nginx мне больше нравится своим конфигом.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB