Após alguma investigação, parece que passenger_app_env (ao qual rails_env é aliado) não está aceitando a variável e, em vez disso, tratando-a como um literal.
Portanto, em vez de $env_rails_env expandir para o conteúdo do $RAILS_ENV lido por lua, ele é tratado como uma string $env_rails_env . É por isso que a linha de registro está reportando database not configured .
Além disso, por nginx Q & A, variáveis não devem ser usadas em arquivos de configuração:
"[Variables] are rather costly compared to plain static configuration. [A] macro expansion and "include" directives should be used [with] e.g. sed + make or any other common template mechanism." http://nginx.org/en/docs/faq/variables_in_config.html
O que acabei usando é envsubst(1) .