Skip to content

Instantly share code, notes, and snippets.

@tknv
Created November 30, 2010 08:32
Show Gist options
  • Save tknv/721356 to your computer and use it in GitHub Desktop.
Save tknv/721356 to your computer and use it in GitHub Desktop.
nginx config for cgit and any cgi with SimpleCGI
server {
listen 80;
# Serve static files
location ~* ^.+\.(css|png|ico)$ {
root /var/www/htdocs;
expires 30d;
}
if (!-f $request_filename) {
rewrite ^/([^?/]+/[^?]*)?(?:\?(.*))?$ /cgit.cgi?url=$1&$2 last;
}
location / {
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_param SCRIPT_FILENAME /var/www/htdocs$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 $document_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;
}
access_log /var/log/nginx/cgit/transfer/access_log combined;
error_log /var/log/nginx/cgit/error/error_log warn;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment