小编Arn*_*aud的帖子

使用 gitolite 和 nginx 在 HTTP 上运行 git

我正在尝试设置一个可以通过 HTTP(S) 访问我的 git repo 的服务器。

我正在使用 gitolite 和 nginx(以及用于 Web 界面的 gitlab,但我怀疑它有什么区别)。

我搜索了整个下午,我想我被卡住了。

我想我已经明白 nginx 需要 fcgiwrap 才能与 gitolite 一起工作,所以我尝试了几种配置,但都没有工作。

我的存储库位于 /home/git/repositories。

这是我尝试过的三种 nginx 配置。

1:

   location ~ /git(/.*) {
       gzip off;
       root /usr/lib/git-core;

       fastcgi_pass  unix:/var/run/fcgiwrap.socket;
       include /etc/nginx/fcgiwrap.conf;

       fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
       fastcgi_param DOCUMENT_ROOT /usr/lib/git-core/;
       fastcgi_param SCRIPT_NAME git-http-backend;

       fastcgi_param GIT_HTTP_EXPORT_ALL "";
       fastcgi_param GIT_PROJECT_ROOT /home/git/repositories;
       fastcgi_param PATH_INFO $1;
       #fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
    }
Run Code Online (Sandbox Code Playgroud)

结果:

> git clone http://myservername/projectname.git test/
Cloning into test...
fatal: http://myservername/projectname.git/info/refs not found: did you run git update-server-info on …
Run Code Online (Sandbox Code Playgroud)

nginx git fcgi gitolite

10
推荐指数
1
解决办法
6021
查看次数

标签 统计

fcgi ×1

git ×1

gitolite ×1

nginx ×1