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

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

ただいまの
回答率

89.70%

ec2にデプロイしたrailsアプリが動かない

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 351

Marky

score 4

以下のサイトを参考にしてrailsアプリをデプロイしましたが、ブラウザにてドメインにアクセスしてもサイトが表示されません。
応答時間が長すぎると怒られています。
https://www.codeofduty.me/2018/01/31/railsapp-aws-deploy/
https://qiita.com/iwaseasahi/items/d5f2ef3eac5e349a8f7d

自分なりに調べ、unicornとnginxが起動できていることは確認いたしました。
curl コマンドでは nginx の Welcome ページが出力されました。

また、以下の質問を参考に確認したところ、ログをtailしながらアクセスするとログが出力されることからnginx → unicornで問題があると判断しています。
https://teratail.com/questions/87712
しかしながらnginxとunicornの設定ファイルを眺めても誤りがわからず、途方にくれています。

恐れ入りますが、nginxとunicornの設定ファイルを貼りますので、解決のヒントをいただけますでしょうか。
(見ていただくとわかる通り、参考サイト丸パクリでアプリ名やIPアドレスの箇所以外は変更しておりません)

必要な情報があれば対応いたします。
よろしくお願いいたします。

upstream unicorn_server {
    server unix:/var/www/projects/アプリ名/tmp/sockets/.unicorn.sock
    fail_timeout=0;
}
server {
    listen 80;
    client_max_body_size 4G;
    server_name IPアドレス;
    keepalive_timeout 5;
    # Location of our static files
    root /var/www/projects/アプリ名/public;
    location ~ ^/assets/ {
        root /var/www/projects/アプリ名/public;
    }
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        if (!-f $request_filename) {
            proxy_pass http://unicorn_server;
            break;
        }
    }
    error_page 500 502 503 504 /500.html;
    location = /500.html {
        root /var/www/projects/アプリ名/public;
    }
}
# set lets
$worker  = 2
$timeout = 30
$app_dir = "/var/www/projects/アプリ名"
$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
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Marky

    2019/06/16 08:06

    場所があっているか不安ですが、ログを以下に記載いたします。
    ```
    nginx/error.log

    2019/06/16 06:39:13 [error] 17978#0: *1135 open() "/usr/share/nginx/html/phpmyadmin2222/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /phpmyadmin2222/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:14 [error] 17978#0: *1136 open() "/usr/share/nginx/html/phpmyadmin3333/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /phpmyadmin3333/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:14 [error] 17978#0: *1137 open() "/usr/share/nginx/html/php2MyAdmin/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /php2MyAdmin/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:14 [error] 17978#0: *1138 open() "/usr/share/nginx/html/phpiMyAdmin/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /phpiMyAdmin/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:20 [error] 17978#0: *1140 open() "/usr/share/nginx/html/1/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /1/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:20 [error] 17978#0: *1141 open() "/usr/share/nginx/html/download/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /download/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:20 [error] 17978#0: *1142 open() "/usr/share/nginx/html/phpMyAdmin_111/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /phpMyAdmin_111/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:20 [error] 17978#0: *1143 open() "/usr/share/nginx/html/phpmadmin/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /phpmadmin/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:20 [error] 17978#0: *1144 open() "/usr/share/nginx/html/321/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /321/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:20 [error] 17978#0: *1145 open() "/usr/share/nginx/html/123131/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /123131/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:21 [error] 17978#0: *1146 open() "/usr/share/nginx/html/phpMyAdminn/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /phpMyAdminn/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:21 [error] 17978#0: *1147 open() "/usr/share/nginx/html/phpMyAdminhf/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /phpMyAdminhf/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:21 [error] 17978#0: *1148 open() "/usr/share/nginx/html/sbb/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /sbb/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:21 [error] 17978#0: *1149 open() "/usr/share/nginx/html/program/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /program/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:21 [error] 17978#0: *1150 open() "/usr/share/nginx/html/shopdb/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /shopdb/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:28 [error] 17978#0: *1151 open() "/usr/share/nginx/html/phpmy/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /phpmy/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:28 [error] 17978#0: *1152 open() "/usr/share/nginx/html/mysql/admin/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /mysql/admin/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:35 [error] 17978#0: *1153 open() "/usr/share/nginx/html/mysql/sqlmanager/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /mysql/sqlmanager/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:35 [error] 17978#0: *1154 open() "/usr/share/nginx/html/mysql/mysqlmanager/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /mysql/mysqlmanager/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:35 [error] 17978#0: *1155 open() "/usr/share/nginx/html/wp-content/plugins/portable-phpmyadmin/wp-pma-mod/index.php" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /wp-content/plugins/portable-phpmyadmin/wp-pma-mod/index.php HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:39:35 [error] 17978#0: *1156 open() "/usr/share/nginx/html/manager/html" failed (2: No such file or directory), client: 188.131.192.69, server: _, request: "GET /manager/html HTTP/1.1", host: "IPアドレス"
    2019/06/16 06:41:11 [error] 17978#0: *1159 open() "/usr/share/nginx/html/json" failed (2: No such file or directory), client: 10.0.1.80, server: _, request: "GET /json?dateTimeSecs=1560634870723 HTTP/1.1", host: "ip-api.com"
    ```

    ```
    nginx/access.log

    10.0.0.194 - - [16/Jun/2019:07:46:27 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.1.80 - - [16/Jun/2019:07:46:27 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.0.194 - - [16/Jun/2019:07:46:37 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.1.80 - - [16/Jun/2019:07:46:37 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.0.194 - - [16/Jun/2019:07:46:47 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.1.80 - - [16/Jun/2019:07:46:47 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.0.194 - - [16/Jun/2019:07:46:57 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.1.80 - - [16/Jun/2019:07:46:57 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.0.194 - - [16/Jun/2019:07:47:07 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.1.80 - - [16/Jun/2019:07:47:07 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.0.194 - - [16/Jun/2019:07:47:17 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.1.80 - - [16/Jun/2019:07:47:17 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.0.194 - - [16/Jun/2019:07:47:27 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.1.80 - - [16/Jun/2019:07:47:27 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.0.194 - - [16/Jun/2019:07:47:37 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.1.80 - - [16/Jun/2019:07:47:37 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.0.194 - - [16/Jun/2019:07:47:47 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.1.80 - - [16/Jun/2019:07:47:47 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.0.194 - - [16/Jun/2019:07:47:57 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.1.80 - - [16/Jun/2019:07:47:57 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.0.194 - - [16/Jun/2019:07:48:07 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.1.80 - - [16/Jun/2019:07:48:07 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.0.194 - - [16/Jun/2019:07:48:17 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.1.80 - - [16/Jun/2019:07:48:17 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-"
    10.0.1.80 - - [16/Jun/2019:07:48:23 +0900] "GET / HTTP/1.1" 200 3520 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52
    ```

    キャンセル

  • Marky

    2019/06/16 08:07

    /var/www/projects/アプリ名/log/production.log

    D, [2019-06-15T22:44:21.703731 #17152] DEBUG -- : ^[[1m^[[35m (9.1ms)^[[0m ^[[1m^[[35mSET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483^[[0m
    D, [2019-06-15T22:44:21.710217 #17152] DEBUG -- : ^[[1m^[[35m (3.4ms)^[[0m ^[[1m^[[35mCREATE DATABASE `アプリ名` DEFAULT CHARACTER SET `utf8`^[[0m
    D, [2019-06-15T22:44:28.680109 #17157] DEBUG -- : ^[[1m^[[35m (2.8ms)^[[0m ^[[1m^[[35mSET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483^[[0m
    D, [2019-06-15T22:44:28.686394 #17157] DEBUG -- : ^[[1m^[[35m (3.2ms)^[[0m ^[[1m^[[35mCREATE DATABASE `アプリ名` DEFAULT CHARACTER SET `utf8`^[[0m
    D, [2019-06-15T22:44:52.185477 #17162] DEBUG -- : ^[[1m^[[35m (2.9ms)^[[0m ^[[1m^[[35mSET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483^[[0m
    D, [2019-06-15T22:44:52.241044 #17162] DEBUG -- : ^[[1m^[[35m (4.3ms)^[[0m ^[[1m^[[34mSELECT GET_LOCK('1392832398980028825', 0)^[[0m
    D, [2019-06-15T22:44:52.271266 #17162] DEBUG -- : ^[[1m^[[35m (2.8ms)^[[0m ^[[1m^[[34mSELECT `schema_migrations`.`version` FROM `schema_migrations` ORDER BY `schema_migrations`.`version` ASC^[[0m
    D, [2019-06-15T22:44:52.282297 #17162] DEBUG -- : ^[[1m^[[36mActiveRecord::InternalMetadata Load (3.3ms)^[[0m ^[[1m^[[34mSELECT `ar_internal_metadata`.* FROM `ar_internal_metadata` WHERE `ar_internal_metadata`.`key` = 'environment' LIMIT 1^[[0m
    D, [2019-06-15T22:44:52.292536 #17162] DEBUG -- : ^[[1m^[[35m (2.7ms)^[[0m ^[[1m^[[35mBEGIN^[[0m
    D, [2019-06-15T22:44:52.297763 #17162] DEBUG -- : ^[[1m^[[35m (2.7ms)^[[0m ^[[1m^[[35mCOMMIT^[[0m
    D, [2019-06-15T22:44:52.300623 #17162] DEBUG -- : ^[[1m^[[35m (2.7ms)^[[0m ^[[1m^[[34mSELECT RELEASE_LOCK('1392832398980028825')^[[0m
    D, [2019-06-15T23:01:48.957427 #17411] DEBUG -- : ^[[1m^[[35m (3.0ms)^[[0m ^[[1m^[[35mSET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483^[[0m
    D, [2019-06-15T23:22:18.105847 #17620] DEBUG -- : ^[[1m^[[35m (2.8ms)^[[0m ^[[1m^[[35mSET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483^[[0m
    D, [2019-06-16T00:07:16.585483 #17940] DEBUG -- : ^[[1m^[[35m (2.9ms)^[[0m ^[[1m^[[35mSET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483^[[0m



    /var/www/projects/アプリ名/log/unicorn.log

    I, [2019-06-15T23:01:46.614547 #17411] INFO -- : Refreshing Gem list
    I, [2019-06-15T23:01:48.878731 #17411] INFO -- : listening on addr=/var/www/projects/アプリ名/tmp/sockets/.unicorn.sock fd=11
    I, [2019-06-15T23:01:48.965251 #17411] INFO -- : master process ready
    I, [2019-06-15T23:01:48.979613 #17415] INFO -- : worker=0 ready
    I, [2019-06-15T23:01:48.979875 #17417] INFO -- : worker=1 ready
    I, [2019-06-15T23:21:32.399320 #17411] INFO -- : reaped #<Process::Status: pid 17415 exit 0> worker=0
    I, [2019-06-15T23:21:32.399446 #17411] INFO -- : reaped #<Process::Status: pid 17417 exit 0> worker=1
    I, [2019-06-15T23:21:32.399520 #17411] INFO -- : master complete
    I, [2019-06-15T23:22:17.076657 #17620] INFO -- : Refreshing Gem list
    I, [2019-06-15T23:22:18.025566 #17620] INFO -- : unlinking existing socket=/var/www/projects/アプリ名/tmp/sockets/.unicorn.sock
    I, [2019-06-15T23:22:18.025731 #17620] INFO -- : listening on addr=/var/www/projects/アプリ名/tmp/sockets/.unicorn.sock fd=11
    I, [2019-06-15T23:22:18.113720 #17620] INFO -- : master process ready
    I, [2019-06-15T23:22:18.122039 #17626] INFO -- : worker=1 ready
    I, [2019-06-15T23:22:18.120879 #17624] INFO -- : worker=0 ready
    bundler: failed to load command: unicorn_rails (/var/www/projects/アプリ名/vendor/bundle/ruby/2.4.0/bin/unicorn_rails)
    ArgumentError: Already running on PID:17620 (or pid=/var/www/projects/アプリ名/tmp/pids/unicorn.pid is stale)
    /var/www/projects/アプリ名/vendor/bundle/ruby/2.4.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:205:in `pid='
    /var/www/projects/アプリ名/vendor/bundle/ruby/2.4.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:137:in `start'
    /var/www/projects/アプリ名/vendor/bundle/ruby/2.4.0/gems/unicorn-5.4.1/bin/unicorn_rails:209:in `<top (required)>'
    /var/www/projects/アプリ名/vendor/bundle/ruby/2.4.0/bin/unicorn_rails:23:in `load'
    /var/www/projects/アプリ名/vendor/bundle/ruby/2.4.0/bin/unicorn_rails:23:in `<top (required)>'
    I, [2019-06-16T00:07:06.259813 #17620] INFO -- : reaped #<Process::Status: pid 17624 exit 0> worker=0
    I, [2019-06-16T00:07:06.259933 #17620] INFO -- : reaped #<Process::Status: pid 17626 exit 0> worker=1
    I, [2019-06-16T00:07:06.260009 #17620] INFO -- : master complete
    I, [2019-06-16T00:07:15.562023 #17940] INFO -- : Refreshing Gem list
    I, [2019-06-16T00:07:16.502835 #17940] INFO -- : unlinking existing socket=/var/www/projects/アプリ名/tmp/sockets/.unicorn.sock
    I, [2019-06-16T00:07:16.503004 #17940] INFO -- : listening on addr=/var/www/projects/アプリ名/tmp/sockets/.unicorn.sock fd=11
    I, [2019-06-16T00:07:16.592363 #17940] INFO -- : master process ready
    I, [2019-06-16T00:07:16.599255 #17944] INFO -- : worker=0 ready
    I, [2019-06-16T00:07:16.601905 #17946] INFO -- : worker=1 ready

    キャンセル

  • hatsu

    2019/06/16 11:16

    「応答時間が長すぎます」と言われる時に、吐かれているログのみを抽出って出来ますでしょうか。。?
    アクセスした際にproduction.logが吐かれているのか、nginxが吐かれているのか、unicorn.logが吐かれているのか、そしてどこでエラーが起きているのか判別するためにも、全てのログよりはアクセスした際のログのみの方が分かりやすいかもです...!

    キャンセル

回答 3

checkベストアンサー

+1

こんにちは。みなさんコメントされている通り、やはりログを丁寧に見ていくのが良いかと思います。

経験的にも、意外とunicornは起動の失敗とかは気がつきにくいので、まずはunicorn.log側を良く眺めてみるといいと思います。

unicornの応答を確認する

Nginxからの応答があるそうなので、Unicorn側でRailsアプリケーションが正しく起動しているかも、プロセス以外にリクエストを出してみて確認するといいかと思います。

ncコマンドが入っているなら、以下のコマンドでドメインソケットでもHTTPリクエストを出して結果を確認することができます。
(ソケットファイルのパスは正しいものに変えてくださいね)

echo -e "GET / HTTP/1.0\r\n" | nc -U /var/www/projects/アプリ名/tmp/sockets/.unicorn.sock

GET /のところは、ルーティング的に正しそうなパスに置き換えたりして、ちゃんと200番が返るとか、500番にならないかどうかも試してみてください。

同時に、unicorn.logとproduction.logにも何かメッセージが出てくるかもしれませんので、合わせて眺めてみてください。

方法を変える

また、UnicornをUnixドメインソケットで起動されていますが、原因の切り分けが難しい場合は、やり方を変えたり小さく確認するのが良いかと思います。

  • TCP (port: 3000など)で起動する方式にする
  • 設定を変えるまえにデーモンで起動ではなくて、 RAILS_ENV=productionで、rails s でコマンドを打って起動できるかどうかなどもチェックする
  • RAILS_ENV=production rails console で、すくなくともRailsのコンソールが取れるか確認する

など。

20190623 追記

Unicornが起動したようなら、改めて、以下を試してみてください。

1. Unicornからレスポンスが返るかのチェック

echo -e "GET / HTTP/1.0\r\n" | nc -U /var/www/projects/アプリ名/tmp/sockets/.unicorn.sock

ソケットファイルの場所は、正しいものに変えてください。
正しく起動しているなら、結果が返ってきます。
また、railsのproduction.logかdevelopment.log にも GET / .... といったログが出ます。

2. Nginxの設定のチェック

unicornが正常にリクエストを処理できる状態であれば、nginxとの間の設定が正しければうまくいくはずです。
もしうまくいかない場合は、nginx用の設定ファイルにエラーがあるか、指定場所を間違えている可能性があります。

想定している設定ファイルは、/etc/nginx/nginx.conf でしょうか?
Amazon Linuxのnginxはデフォルトでここを見ます。
現在表示されているトップページは、この設定に従って、/usr/share/nginx/html 以下のindex.htmlを表示していると思います。
設定ファイルの場所が正しいか、設定を変えたら nginxをreloadしたかも確認してみてくださいね。

PHPのアプリケーションは動かしていないけど *.phpへのアクセスがある

インターネットに公開された以上、ピンポンダッシュやオレオレ詐欺的な感じで、「あわよくば返事があれば、そこから脆弱性を突いていこう!」という的なアクセスが出てきます。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

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

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

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/06/23 21:01

    回答側に追記しました!

    キャンセル

  • 2019/07/04 22:15 編集

    随分間が空いてしまいました、すみません。

    追記1、実行したところ以下の内容が返ってきました。
    また、rails の production.log を確認したところログが増えていませんでした。
    これはUnicornが動いていないという判断でよろしいでしょうか。

    HTTP/1.1 301 Moved Permanently
    Date: Thu, 04 Jul 2019 13:10:24 GMT
    Connection: close
    Content-Type: text/html
    Location: https://localhost/

    よろしくお願いいたします。

    キャンセル

  • 2019/07/05 09:07

    こんにちは。これはブラウザからのアクセスでしょうか?
    Location: https://localhost/ になっていますが、ブラウザからアクセスするのは Ec2側のIPアドレスですけれど、どうしようとしているのかがよくわかりません。。。

    正しく通信ができているなら、
    ブラウザからEc2のIPアドレスにアクセス -> EC2のnginxのアクセスログが同時にアクセスを記録する -> unicornlog も増える
    はずです。
    落ち着いて全部の設定を見直すか、EC2ではなく、まずはローカル開発環境の上の仮想マシンなど、手元で設定を見直せるところで試すのが良いかと思います。

    キャンセル

+1

logも一緒に貼っていただけるとなにか原因がわかりやすいかもしれません!!!

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

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

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

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

nginx の config に
server_name IPアドレス;
とあります。これは実際にIPアドレスをいれてあるが(例えば 35.241.50.22)、ここにpostするにあたって、IPアドレスをみせるのはまずいから IPアドレス と書いたのかと思っていましたが、そうでしょうか?
というのは ngins/error.log に
request: "GET /phpmyadmin2222/index.php HTTP/1.1", host: "IPアドレス"
と延々とあったので、もしかしたら IPアドレス と実際に書き込んであるのか?という懸念がでてきました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

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

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

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 89.70%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

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