How to set Rails environment permanently?

Posted December 18, 2018 5.5k views
Ruby on RailsRubyUbuntu 16.04

I have Ruby on Rails 5, NginX, and Ubuntu 16.04. running on my droplet. The app has been running for a number of years, however, for some reason it keeps reverting back to development mode.

Every time I run rake about it tells me that Rails is in development mode.

This is strange because I am telling Rails very clearly that I want it to run in production mode, for example in my unicorn configuration file:


Whenever I do something on the server, for example, run a migration I tell Rails that it should be done in a production context:

rake db:migrate RAILS_ENV=production

But still Rails seems to be running in development mode all the time.

This command doesn’t help either:

RAILS_ENV=production rake about

How can I set my Rails app to production mode permanently?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
2 answers

Be aware that you should add the parameter in the place you start the service. But I can guide if you don’t add more info. So how do you start your server?

Running commands on the terminal:

The way I do it is by setting the RAILS_ENV in the .bashrc adding the following line at the very end.

export RAILS_ENV=production

If you need to use it during the session only you can run it on the terminal and all the commands you execute afterwards are going to be on the production enviroment

Hi & thanks for your help.

Actually, I solved the problem using rbenv-vars.

More info can be found here.

Not sure if this is the best way to go?