質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.83%
AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

AWS デプロイ 500エラー になります!

nk117
nk117

総合スコア31

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

3回答

0グッド

0クリップ

8156閲覧

投稿2017/07/25 04:30

編集2017/07/26 02:58

イメージ説明

Railsで作成したサイトをAWSにデプロイし、いざIPアドレスで表示させようとした所500エラーになります。
あと一歩のところで1日が経過しました。この問題で考えられる原因はありますか?

現状について・・・
ec2
nginx
mysql
unicorn
は全て起動確認済です。

rake db:migrate RAILS_ENV=productionもできました。
プリコンパイルも完了しています。

環境について・・・
AWS
ec2
mac osx
ruby 2.3.1
rails 4.2.6
nginx/1.10.3
unicorn v5.2.0
mysql 5.5.56

初学者ですが何卒宜しくお願いします。

追記

nginx.error.logの内容↓

2017/07/25 04:15:20 [error] 2965#0: *3 connect() to unix:/var/www/rails/アプリ名/tmp/sockets/.unicorn.sock failed (111: Connection refused) while connecting to upstream, client: 139.162.124.167, server: ipアドレス, request: "GET / HTTP/1.1", upstream: "http://unix:/var/www/rails/アプリ名/tmp/sockets/.unicorn.sock:/", host: "ipアドレス"
2017/07/25 23:41:18 [error] 29018#0: *33 open() "/usr/share/nginx/html/phpmyadmin/scripts/setup.php" failed (2: No such file or directory), client: 191.96.249.136, server: localhost, request: "GET /phpmyadmin/scripts/setup.php HTTP/1.0"

unicornの設定
unicorn.conf.rb↓

# set lets $worker = 2 $timeout = 30 $app_dir = "/var/www/rails/アプリ名" $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

nginxの設定
アプリ名.conf↓

# log directory error_log /var/www/rails/アプリ名/log/nginx.error.log; access_log /var/www/rails/アプリ名/log/nginx.access.log; # max body size client_max_body_size 2G; upstream app_server { # for UNIX domain socket setups server unix:/var/www/rails/アプリ名/tmp/sockets/.unicorn.sock fail_timeout=0; } server { listen 80; server_name IPアドレス; # nginx so increasing this is generally safe... keepalive_timeout 5; # path for static files root /var/www/rails/アプリ名/public; # page cache loading try_files $uri/index.html $uri.html $uri @app; location @app { # HTTP headers proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_server; } # Rails error pages error_page 500 502 503 504 /500.html; location = /500.html { root /var/www/rails/アプリ名/public; } }

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

CHERRY

2017/07/25 04:34

nginx のログに出力されている内容を質問に追記してください。
nk117

2017/07/26 02:51

ご返信有難う御座います。追記しました。

回答3

0

ベストアンサー

2017/07/25 04:15:20 のログが恐らくnk117さんがアクセスしたものと思われますが、UNIXドメインソケットへ接続できないエラーです。
nginxプロセスのオーナーは通常nginxユーザーですが、このユーザーから対象のUNIXドメインソケットへはアクセス可能でしょうか?
下記コマンドの結果を教えてください。

ls -l /var/www/rails/アプリ名/tmp/sockets/.unicorn.sock ls -ld /var/www/rails/アプリ名/tmp/sockets ls -ld /var/www/rails/アプリ名/tmp ls -ld /var/www/rails/アプリ名 ls -ld /var/www/rails ls -ld /var/www ls -ld /var

以下追記

パーミッションは問題なさそうです。
UNIXドメインSOCKETはいくつか制限あるので私は利用を避けてます。(CentOS7では/tmpで共有できないとか)

可能であればINETドメインSOCKETにしてみては如何でしょうか。

  • unicorn.conf.rb
listen "127.0.0.1:3000"
  • アプリ名.conf
upstream app_server { # for UNIX domain socket setups server 127.0.0.1:3000; }

投稿2017/07/26 03:28

編集2017/07/26 03:56
moonphase

総合スコア6621

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

nk117

2017/07/26 03:35

$ ls -l /var/www/rails/contents-store/tmp/sockets/.unicorn.sock srwxrwxrwx 1 ユーザー名 ユーザー名 0 7月 26 03:25 /var/www/rails/アプリ名/tmp/sockets/.unicorn.sock $ ls -ld /var/www/rails/アプリ名/tmp/sockets drwxrwxr-x 2 ユーザー名 ユーザー名 4096 7月 26 03:25 /var/www/rails/アプリ名/tmp/sockets $ ls -ld /var/www/rails/アプリ名/tmp drwxrwxr-x 6 ユーザー名 ユーザー名 4096 7月 24 15:03 /var/www/rails/アプリ名/tmp $ ls -ld /var/www/rails/アプリ名/ drwxrwxr-x 13 ユーザー名 ユーザー名 4096 7月 25 04:09 /var/www/rails/アプリ名/ $ ls -ld /var/www/rails drwxr-xr-x 3 ユーザー名 root 4096 7月 24 14:22 /var/www/rails $ ls -ld /var/www drwxr-xr-x 3 ユーザー名 root 4096 7月 24 13:30 /var/www $ ls -ld /var drwxr-xr-x 20 ユーザー名 root 4096 7月 24 13:29 /var
nk117

2017/07/26 03:36

ご返信有難う御座います。コマンド結果となります。
nk117

2017/07/26 04:18

書き換えてunicornを再起動したところ、下記エラーが発生しました。 /home/ユーザー名/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/unicorn-5.2.0/lib/unicorn/configurator.rb:589:in `pack_sockaddr_in': getaddrinfo: Name or service not known (SocketError) from /home/ユーザー名/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/unicorn-5.2.0/lib/unicorn/configurator.rb:589:in `canonicalize_tcp' from /home/ユーザー名/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/unicorn-5.2.0/lib/unicorn/configurator.rb:575:in `expand_addr' from /home/ユーザー名/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/unicorn-5.2.0/lib/unicorn/configurator.rb:408:in `listen' from /var/www/rails/アプリ名/config/unicorn.conf.rb:14:in `reload' from /home/ユーザー名/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/unicorn-5.2.0/lib/unicorn/configurator.rb:72:in `instance_eval' from /home/ユーザー名/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/unicorn-5.2.0/lib/unicorn/configurator.rb:72:in `reload' from /home/ユーザー名/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/unicorn-5.2.0/lib/unicorn/configurator.rb:65:in `initialize' from /home/ユーザー名/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/unicorn-5.2.0/lib/unicorn/http_server.rb:76:in `new' from /home/ユーザー名/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/unicorn-5.2.0/lib/unicorn/http_server.rb:76:in `initialize' from /home/ユーザー名/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/unicorn-5.2.0/bin/unicorn_rails:209:in `new' from /home/ユーザー名/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/unicorn-5.2.0/bin/unicorn_rails:209:in `<top (required)>' from /home/ユーザー名/.rbenv/versions/2.3.1/bin/unicorn_rails:23:in `load' from /home/ユーザー名/.rbenv/versions/2.3.1/bin/unicorn_rails:23:in `<main>' master failed to start, check stderr log for details
moonphase

2017/07/26 04:41

以下に変更すると如何でしょうか? listen 3000
nk117

2017/07/26 05:48

ユニコーン起動できました! We're sorry, but something went wrong. If you are the application owner check the logs for more information. IPアドレスでアクセスしたところ、上記のエラー文が表示されております。
nk117

2017/07/26 12:27

更新 listen 3000の設定を一箇所もれていたので、修正後、IPアドレスでアクセスしたところ、 Welcome to nginx on the Amazon Linux AMI!のページが表示されています。
nk117

2017/07/26 16:51

500エラーは解消したので一度質問を閉じます。有難う御座いました。

0

500だとnginxには到達しているはずなので、
nginx、unicorn, railsのログを見たら何かないですか。

初学者ならnginxとunicornのproxyあたりが怪しいと思います。
・nginxとunicornの実行ユーザ
・ソケットのパーミッション(ファイル、ディレクトリ)

ソケットならhttpにしてみたり、nginxのconfをデフォルトからチューニングなしでまず設定してみるとか。

投稿2017/07/25 07:15

ya.sasaki

総合スコア12

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

0

質問者様の設定内容などをチェックできないのでなんとも言えませんが、
internal server errorということで、まずはrailsアプリがローカル上でエラーを出さないか確認
➡︎OKの場合は、経験上nginxの設定ファイルが間違っている場合が多い気がします、、
こちらの記事などで詳しく解説されているのでチェックされてみてはいかがでしょうか。
http://qiita.com/naoki_mochizuki/items/f795fe3e661a3349a7ce

投稿2017/07/25 04:37

namenamenameko

総合スコア234

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

nk117

2017/07/26 03:00

ローカル上では問題ないので、本番環境のなにかが原因だと思われます。
nk117

2017/07/26 03:03 編集

http://qiita.com/naoki_mochizuki/items/f795fe3e661a3349a7ce 上記URL有難う御座います。こちらのサイトの手順でデプロイ作業を進めるのは2回目です。前回も同じように500エラーが起きたのですが、ユニコーンを再起動することで解決しました。今回は再起動しても解決に至っておりません。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.83%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。