Rails4 中 因为secret key 引起在production环境下无法运行

时间:2021-09-07 15:01:47

错误信息

 Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml`

因为rails 4 出于安全考虑,需要在production 的情况下 ,生成一个key,通过 web_app/config/secrets.yml 读取。

production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

由于安全方面的考虑,此key值不建议放入git发布。

解决方法

1.在服务器上 rake secret RAILS_ENV=production 生成key

[root@iZ25ka6ra32Z weixin_post]# rake secret RAILS_ENV=production
77cc6867b69965249198ded31d6c346d97c1abf029c

2.在shell中 export 到环境变量中

[root@iZ25ka6ra32Z weixin_post]# export SECRET_KEY_BASE=77cc6867b69965249198ded31d6c346d97