Nginx Multiple Domains
If you want to configure multiple mongrel clusters to be used with multiple domains or sub-domains then define multiple upstream blocks(for lack of any other name) and server blocks and add it to the same nginx config file.
For example, you can add this code to the sample Nginx config below the pre-existing server block:
upstream second_mongrel_cluster {
#### Replace these with the ports for your mongrel cluster:
server 127.0.0.1:10803;
server 127.0.0.1:10804;
}
server {
#### Replace with your nginx/pound port and sub-domain or domain name:
listen 127.0.0.1:80;
server_name example.com;
#### Replace with the full path to your rails app's public directory:
#### Make sure to point to right subdomains public folder here
root /var/www/virtual/example.com/rails/railsapp/public;
index index.html index.htm;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect false;
if (-f $request_filename/index.html) {
rewrite (.*) $1/index.html break;
}
if (-f $request_filename.html) {
rewrite (.*) $1.html break;
}
if (!-f $request_filename) {
# proxy pass to right upstream define here
proxy_pass http://second_mongrel_cluster;
break;
}
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}