This weekend I decided to checkout ReviewBoard a slick Web 2.0 open source Django app for doing code reviews. Unfortunately, it took me quite a bit of time to set it up from scratch with Nginx. Thus, I decided to do a quick writeup for Nginx users.
ReviewBoard's setup docs is a good starting point for getting the dependencies you need to setup a ReviewBoard website. Once you have ReviewBoard installed you can generate a website using `rb-site install`. I setup my website under /var/www/review.mysite.com but you can set it up anywhere if you prefer another location.
The next step is to launch the FastCGI daemon script bundled with ReviewBoard
rb-site manage /var/www/review runfcgi method=threaded port=3033 host=127.0.0.1 protocol=fcgi
Once your FastCGI instance is up and running you just need to simply point Nginx at the FastCGI process
server {
listen 80;
server_name review.mysite.com;
root /var/www/review.mysite.com/htdocs/;
location /media {
root /htdocs/media/;
}
location /errordoc {
root /htdocs/errordocs/;
}
location / {
# host and port to fastcgi server
fastcgi_pass 127.0.0.1:3033;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}
}
Then restart your nginx server and reviewboard should be up and running. Did I miss anything?