文系エンジニアのブログ

文系20代後半からWEB系エンジニアを目指す

【rails】本番環境で環境変数が読み込まない場合

どーもみなさん

ちょっと本番環境でAPIを使ったテストをしている時に自分が詰まったところがあるので記事にしておこうと思います。

こんなことがあった

例えばrailsfacebookを使ったユーザー登録をしようとしている場合、そのままAPIキーとかコードに書かずに環境変数化してbash_profileとかに書きますよね。
自分の場合は、ローカルでの検証が終わってEC2を使って本番環境を構築していたので「ターミナルからec2にログインしてbash_profileに書いたら終わりじゃん」とか思ってたら全然読み込まなくて。。
source ~/.bash_profileもやったし、EC2とかユニコーン再起動したり色々やってみたんですが、全くうまくいきませんでした。

解決策

あまり良くない方法なんですが、自分はenvironmentに直接書いたところいけました!

手順

①EC2にログインする

②[ec2-user@ip-アドレス ~]$ sudo vim /etc/environment でenvironmentファイルを編集します

③#environmentファイルで下記を追記
FACEBOOK_APP_ID='APP-IDを入力'
FACEBOOK_APP_SECRET='APP-SECRETを入力'

④一度EC2をログアウトして、念のためユニコーンとNginxも再起動してサイト確認

このようにするといけました。


みなさんもテストレベルで通したい場合などは試してみてください