我在 Ubuntu 13.04 机器上使用 nginx 服务器无法让 git-http-backend 工作。之前在 Debian 7 上试过,但结果相似。基本上我遵循了http://weininger.net/configuration-of-nginx-for-gitweb-and-git-http-backend/但忽略了与 gitweb 相关的任何内容。
我做了以下事情:
使用以下命令安装 nginx、git、git-core 和 fcgiwrap:
apt-get install git git-core nginx fcgiwrap
Run Code Online (Sandbox Code Playgroud)
在 /var/git/test.git 上创建了一个裸仓库,并将其添加到 www-data:
mkdir -p /var/git/test.git
cd /var/git/test.git
git init --bare
git update-server-info
chown -R www-data:www-data /var/git
Run Code Online (Sandbox Code Playgroud)
将 /etc/nginx/sites-enabled/default 替换为
server {
listen 80;
server_name localhost;
location / {
root /var/git;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
fastcgi_param PATH_INFO $uri;
fastcgi_param GIT_PROJECT_ROOT /var/git;
fastcgi_param GIT_HTTP_EXPORT_ALL "";
include /etc/nginx/fastcgi_params;
}
}
Run Code Online (Sandbox Code Playgroud)
做的时候
GIT_CURL_VERBOSE=1 git clone …
Run Code Online (Sandbox Code Playgroud)