2013-02-17 7 views
3

Я запускаю GitWeb на Windows Server 2008 R2 с помощью Apache 2.2.22 (win64). Я выполнил следующие инструкции: https://git.wiki.kernel.org/index.php/MSysGit:GitWeb В инструкциях говорится, что мы должны использовать версию perls как MSysgit в качестве первой строки perl в скрипте gitweb.cgi.GitWeb очень медленный под Apache в Windows с использованием интерпретатора Perys MSysgit

GitWeb работает, но он очень медленный, занимает около 10 секунд для загрузки страницы. Я заметил, что даже если я пишу сценарий «Hello World» с использованием версии Perl в MSysgit в качестве первой строки, Apache также медленно выполняет это. Однако, если вы переходите на другую версию Perl, например perl cygwin (C:/cygwin/bin/perl), она снова выполняется быстро. Я не могу запустить gitweb.cgi, используя любой другой тип perl помимо msysgit, потому что когда я это делаю, я получаю ошибку «Projects Not Found».

ответ

3

Через несколько часов я нашел альтернативное решение. Вместо того, чтобы использовать версию msysgit по мерзавца и Perl, мы будем использовать Cygwin-х:

1) Установите Cygwin и выберите следующие Cygwin пакеты: мерзавец (и Perl, если это необходимо)

2) Изменение GitWeb. cgi-файл в 3-х местах.
Первая линия gitweb.cgi должен сказать:

#!C:/cygwin/bin/perl 

Убедитесь, что переменная $ GIT правильно установлен, и в формате "Cygwin":

our $GIT = "C:/cygwin/bin/git"; 

каталог projectroot должен быть в " Cygwin»формат, не msysgit формат:

our $projectroot = "/cygdrive/c/temp/repos"; 

по какой-то причине, версия Cygwin по Perl выполняет гораздо быстрее под апача, чем один под msysgit ,

+0

спасибо !,/cygdrive ... часть сделал трюк – user311174

0

Просто добавьте следующую строку в файл httpd.conf

SetEnv LOGONSERVER \ машина

+1

Можете ли вы улучшить свой ответ, объясняя, что делает эту линию и почему его следует добавить? –