Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 19, 2007 12:42:48

Mkdir
Зарегистрирован: 2006-06-30
Сообщения: 211
Репутация: +  0  -
Профиль   Отправить e-mail  

nginx + trac

Всем привет.
Кто-то запускал Trac через fastcgi под nginx?
Проблема в том, что Trac не создаёт файлового сокета, а nginx требует его.



Офлайн

#2 Фев. 19, 2007 15:34:30

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

nginx + trac

Ну 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



Офлайн

#3 Фев. 19, 2007 15:55:08

Mkdir
Зарегистрирован: 2006-06-30
Сообщения: 211
Репутация: +  0  -
Профиль   Отправить e-mail  

nginx + trac

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 а тут еще такой прикол )



Офлайн

#4 Фев. 19, 2007 15:59:17

Mkdir
Зарегистрирован: 2006-06-30
Сообщения: 211
Репутация: +  0  -
Профиль   Отправить e-mail  

nginx + trac

Вот пример как подключать 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?



Офлайн

#5 Фев. 19, 2007 16:01:16

Mkdir
Зарегистрирован: 2006-06-30
Сообщения: 211
Репутация: +  0  -
Профиль   Отправить e-mail  

nginx + trac

lorien
Я не в курсе специфики реализации трака, но у меня предположение, если он требует TRAC_ENV, может быть, стоит ему его дать? )
Давал ) Не хочет работать. Рвёт коннекшен.
location / {
fastcgi_pass unix:/usr/local/share/trac/cgi-bin/trac.fcgi;
fastcgi_param TRAC_ENV /var/projects;
....
}
Но так нельзя делать. Ведь trac.fcgi это не файловый сокет.



Офлайн

#6 Фев. 19, 2007 16:34:38

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

nginx + trac

Офлайн

#7 Фев. 19, 2007 16:36:58

Mkdir
Зарегистрирован: 2006-06-30
Сообщения: 211
Репутация: +  0  -
Профиль   Отправить e-mail  

nginx + trac

j2a
http://www.freesource.info/wiki/Stat'i/TracNginx ?
=))))
Открываю ссылку: “Такой страницы не существует. Хотите создать?”
Создам когда решение найду ))



Офлайн

#8 Фев. 19, 2007 16:52:05

Mkdir
Зарегистрирован: 2006-06-30
Сообщения: 211
Репутация: +  0  -
Профиль   Отправить e-mail  

nginx + trac

Самое интересное что ссылка оказалась правильной, вот только форум почему-то в href убирает апостроф после t.
Получается Stati вместо Stat'i.

За ссылку спасибо.



Отредактировано (Фев. 19, 2007 16:52:17)

Офлайн

#9 Фев. 19, 2007 16:55:52

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

nginx + trac

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



Офлайн

#10 Фев. 19, 2007 18:54:43

Mkdir
Зарегистрирован: 2006-06-30
Сообщения: 211
Репутация: +  0  -
Профиль   Отправить e-mail  

nginx + trac

А по-моему гимморно делать через spawn-fcgi.
Компилить еще что-то надо, что-то куда-то прописывать ;)
Может ну его нафиг тот nginx? Буду использовать lighttpd.
Хотя, nginx мне больше нравится своим конфигом.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version