My Rails app makes use of ImageMagick, but the app fails on trying to execute the ImageMagick command (\"identify\"). I fixed this issue in development (where I\'m running A
In short, you don't pass anything via environment variables with nginx, you use HTTP headers or fastcgi parameters.
In your case, you don't even need to, because you are doing things properly and running mongrels as a separate process - set the environment variables in THEIR environment. Nginx properly has nothing to do with it.
Nginx does not work with environment variables and probably will not for a very long time until someone mistakenly hacks a third party module together for it, and then it still won't be supported in the main stream.
There are a multitude of reasons for this, mostly design, security, administration related, but ultimately it's opinion of the developer and the community that dealing with environment variables is not the place of the HTTPd when the HTTPd is designed to work with resources that might not be on the same machine (how do you pass environment variables to processes listening on another machine nearby?).
Furthermore, passenger is a third party module and is somewhat broken in terms of both the implementation and the design, in that it is against what nginx is designed for because it runs the application processes within nginx (here you COULD pass environment variables in theory, but it's not the way nginx is meant to work).
The recommended method to handle things such as this is to start your application outside of nginx (making use of environment variables there if you wish) and then either proxy or fastcgi pass to your application, optionally including in headers or fastcgi params the necessary extra data. Alternatively, your application may have some way to determine proper settings within it, such as a settings.local file (this is fairly common in python setups).
There are tons of ways to do this without having nginx deal with environment variables.