Ubuntu Nginx搭建Gitweb服务器
安装Nginx 和 Gitweb
simba@simba-laptop:~$ sudo apt-get install nginx gitweb
修改Gitweb配置文件
simba@simba-laptop:~/git-repo$ vim /etc/gitweb.conf
修改或添加以下:
[plain]
#Git库所处路径
$projectroot = "/home/simba/git-repo";
#启用追溯
$feature {'blame'}{'default'} = [1];
$feature {'blame'}{'override'} = 1;
#启用快照(snapshot)下载
$feature {'snapshot'}{'default'} = ['zip', 'tgz'];
$feature {'snapshot'}{'override'} = 1;
帮助Nginx执行CGI
将Gitweb安装目录链接到web主目录下
simba@simba-laptop:~$ sudo ln -s /usr/share/gitweb/ /var/www/
修改Nginx配置文件
...
server {
set $web_root /var/www/;
#设置变量 web_root
listen 80 default;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
location / {
root $web_root;
index index.html index.htm index.cgi;
}
...
location ~ .*/.cgi$ {
gzip off; #gzip makes scripts feel slower since they have to complete before getting gzipped
fastcgi_pass unix:/var/run/nginx/cgiwrap-dispatch.sock;
fastcgi_index index.cgi;
fastcgi_param SCRIPT_FILENAME $web_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $web_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
}
...
}
重启Nginx
sudo nginx -s reload