I have secret configuration that I do not want to commit to version control. The way Heroku deals with this is to set environment variables that can then be read by the app. This is a nice solution, and I'd like to use the same principle when using Passenger/nginx on my own server.
I can set these globally, e.g. in my .bash_profile, but this makes them available globally. If I have, for instance, two sites, both interacting with Twitter, and using TWITTER_API_KEY, this should be set differently for each site.
What I've found through Google suggests this isn't possible, but thought it worth asking anyway.
The alternative is to have a private config file that isn't committed into version control. That works, but using environment vars just seems more elegant to me.