On Monday 15 April 2013 16:32:42 Jason A. Donenfeld wrote: > On Sat, Apr 13, 2013 at 10:51 AM, Peter Wu <lekenst...@gmail.com> wrote: > > So I was wondering if somebody has already considered integrating fastcgi > > into cgit > > This is planned for future versions once we take care of some memory > management issues. For now, fcgiwrap is sufficient.
fcgiwrap works indeed, a different patch[1] got merged that allows multiple commands to be specified. In order to enable smart HTTP for git and cgit, I use the following command to start fcgiwrap: fcgiwrap -p /opt/cgit/cgit.cgi -p /usr/lib/git-core/git-http-backend My nginx server configuration with caching enabled is below, hopefully it will be of help to someone: # based on http-backend.c from git v1.8.2.1, service_cmd location ~ "^/[^/]+/(git-(receive|upload)-pack|HEAD|info/refs|objects/(info/(http-)?alternates|packs)|[0-9a-f]{2}/[0-9a-f]{38}|pack/pack-[0-9a-f]{40}\.(pack|idx))$" { fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; fastcgi_param GIT_PROJECT_ROOT /home/git/repositories; fastcgi_param PATH_INFO $fastcgi_script_name; include fastcgi_params; fastcgi_pass unix:/var/run/fcgi-cgit.sock; } fastcgi_cache cgit; fastcgi_cache_key "$request_method$request_uri"; # requests which do not change very often location ~ ^/[^/]+/(commit|patch|diff|snapshot|tag|stats|about) { fastcgi_cache_valid 1h; fastcgi_param SCRIPT_FILENAME /opt/cgit/cgit.cgi; fastcgi_param PATH_INFO $fastcgi_script_name; include fastcgi_params; fastcgi_pass unix:/var/run/fcgiwrap-cgit.sock; } try_files $uri @cgit; location @cgit { fastcgi_cache_valid 5m; fastcgi_param SCRIPT_FILENAME /opt/cgit/cgit.cgi; fastcgi_param PATH_INFO $fastcgi_script_name; include fastcgi_params; fastcgi_pass unix:/var/run/fcgiwrap-cgit.sock; } [1]: https://github.com/gnosek/fcgiwrap/commit/1b44aba5 _______________________________________________ cgit mailing list cgit@hjemli.net http://hjemli.net/mailman/listinfo/cgit