naichi's lab

3日後の自分(他人)への書き置き

【Ruby on Rails】環境変数エラー

まだまだエラーと格闘。

今度は環境変数エラー。

もう少しで動く気がする・・・

環境

  • CentOS Linux release 7.1.1503 (Core)
  • unicorn v5.0.1

Railsが環境変数エラーしてる

Unicornのログ

E, [2015-12-05T21:56:47.293845 #21753] ERROR -- : app error: Missing `secret_token` and `secret_key_base` for 'production' environment, set these values in `config/secrets.yml` (RuntimeError)

書かれてる通りsecrets.ymlを見てみると

development:
  secret_key_base: 892ceafe0c4265c82c36aae8d37843c3d06216f9ec47ce37bb0d7a5c4422d1c82bd95d1ea448037a763ff5f6c47f47da4f0eff55f65aee54b29cbb5e332d6cef
test:
  secret_key_base: 07cb90ce5eacd2fd05826721552ce45c3de8802847e5dfa977e8449ffe38ac13ae68b581e583170220c9c17bb120bdcf4d2ecb467e0d31dce669d728d22c28aa
production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

確かに環境変数読みこむようになってますね。

んでどうやって設定すればいいの?

ぐぐったら下記コマンドでsecretは生成できるみたい。

$ bundle exec rake secret
7bfdac662277ed64ba5a8c4db5df93f7b81a80aa775056ade408da2e72fa895781086d3a300d37f9d30d7527def6d88718eab07f671488e8b5cc640c783ff904

んで下記コマンドで環境変数にセットできるみたい。

$export SECRET_KEY_BASE=`bundle exec rake secret`

なるほど。

Unicornを再起動して確認。

動いた!!!!

参考