#困っていること
参考記事
上記の記事を参考に一通り、デプロイ作業まで完了したのですがアクセスしてみると画面が真っ白になっている。
色々、私なりに調べてみたのですが何が原因なのかが分からないでいます。
補足情報
urlにアクセス出来ているので、プリコンパイルの問題からとも思ったのですがどうも関係ないようでした。
ロードバランサーの設定がいまいちよくわかないかったのでなんとなくで設定してました。
# set lets $worker = 2 $timeout = 30 $app_dir = "/var/www/projects/meetup" $listen = File.expand_path 'tmp/sockets/.unicorn.sock', $app_dir $pid = File.expand_path 'tmp/pids/unicorn.pid', $app_dir $std_log = File.expand_path 'log/unicorn.log', $app_dir # set config worker_processes $worker working_directory $app_dir stderr_path $std_log stdout_path $std_log timeout $timeout listen $listen pid $pid # loading booster preload_app true # before starting processes before_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! old_pid = "#{server.config[:pid]}.oldbin" if old_pid != server.pid begin Process.kill "QUIT", File.read(old_pid).to_i rescue Errno::ENOENT, Errno::ESRCH end end end # after finishing processes after_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection end
ロードバランサーを介さずにアクセスすることはできていますか?
以下の手順を試してみてください。
1. EC2->セキュリティグループ->セキュリティグループの作成
2. 適当な名前をつけ、以下の設定を行う
タイプ -> http
ソース -> マイIP
3. EC2->インスタンス
4. 対象のインスタンスを右クリックし、ネットワーキング -> セキュリティグループの変更
5. 先ほど作成したセキュリティグループをアタッチ(※注意:この時点で、同じwifi環境の人にアクセスされうる設定になります)
この設定をした上で、対象のインスタンスのグローバルIPにアクセスすると、いかがでしょうか。
うまく行かないようであれば、AWSでなく、apacheの設定かアプリ側に問題がありそうです。
承知しました。
試してみます。
ちなみに、今現在はIPアドレスはElastic IPと紐づけていますが、合っていますでしょうか?
はい、その認識で齟齬ありません
グローバルIPについて分からないのでご教示いただきたいのですが、グローバルIPとは、質問内にアップしたイメージのソースの箇所という認識で合っていますでしょうか?
そうではなく、EC2にひもづくIPを指します。ElasticIPを設定してあるのならば、それです。
であれば、ご教示いただいた手順を行なった後にElasticIPで試してみたのですが、アクセスできませんでした。
ありがとうございます。
nginx.confの設定は正しそうでしょうか。
例えば参考サイトでは例としてchristchurches-mapというプロジェクト名を使っているようですが、
こちらが残りっぱなしになっていませんか
.confはこのようになっています。
プロジェクト名は変更しています。
ありがとうございます
アプリ名.confについてはいかがでしょうか
sudo vi /etc/nginx/conf.d/meetup.conf
上記で、編集を行なっているので大丈夫かと思います。
一つ気になる点があるとすれば、awsのインスタンス名とその他各種の設定名(awsの方ではWemeetで統一している)とアプリのプロジェクト名(meetup)が異なるのでもしかしたらそれが原因でしょうか?
ありがとうございます。
いえ、基本的にAWSのリソース名はアプリに影響しません。
そんなんですね。
これは、もう1回0からやり直した方がいいのでしょうか?
なにが原因でエラーが出ているのかが分からないのでまた同じ箇所でエラーが出そうですがどこかの設定ミスだけであれば0からやり直した方がいい気がしてきました,,,
私の認識違いであればすいません。
ご提示頂いたファイルはnginx.confでないように思うのですがご確認いただけませんか。
listen 80と書かれたファイルはありませんでしょうか
私なりに以下の方法で解決することができました。
vim config/environments/production.rb
config.force_ssl = true
config.force_ssl = false (に変更)
ssl化にしていないため
gem 'unicorn'
gem 'unicorn', '5.4.1'
バージョンを指定前は5.5.1だった。
理由は分からないですが、5.5.0以下にする必要があるらしい。
上記の2手順で解決することが出来ました。
おめでとうございます!
お役に立てずすいません、解決されたなら何よりです。
ご教示いただき有り難うございました。
あなたの回答
tips
プレビュー
