title: Nginx + Thin config on Windows for Rails app
body: <p>I'm somewhat confused about using Nginx and Thin for serving my Rails 3.2 app.  Previously I had Thin serving my Rails app on Windows Server 2008 R2 without any issues. I would start Thin on the production server specifying the server's IP address on port 80 like such:</p>
  
  <pre><code>rails server thin -b 10.xx.x.xxx -p 80 -e production
  </code></pre>
  
  <p>Now, I'm trying to add Nginx to the mix and I'm confused about how I should start Thin and how I should configure Nginx to forward to Thin.</p>
  
  <p><strong>For example, now that Nginx is listening on port 80, should I start Thin locally on a different port? Like 0.0.0.0:3000 (or 127.0.0.1:3000)? Or do I start Thin like I did before on 10.xx.x.xxx:80?</strong></p>
  
  <p>In my Nginx conf file do I specify the upstream servers as localhosts, or the machine's IP address? I'm not really sure what it's for.</p>
  
  <pre><code>upstream mywebapp_thin {
    server 0.0.0.0:3000;
  }
  
  server {
      listen       80;
      server_name  mywebserver www.mywebserver;
      # locations et. al. excluded for brevity...
  </code></pre>
  
  <p>Most examples I see have the upstream servers running on ports 3000 or 5000. I'm wondering if those examples are really for a development setup, and not production? Or does Thin need to run on a different port other than 80 since Nginx is listening on it now?</p>
  
  <p>I noticed that my web app does not respond to the basic urls (mywebserver/projects) unless I add the port Thin is running on (mywebserver:3000/projects)</p>