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

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

新規登録して質問してみよう
ただいま回答率
85.48%
unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

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

Q&A

解決済

3回答

666閲覧

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

Marky

総合スコア10

unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2019/06/15 16:13

以下のサイトを参考にして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; } }

config/unicorn.conf.rb

1# set lets 2$worker = 2 3$timeout = 30 4$app_dir = "/var/www/projects/アプリ名" 5$listen = File.expand_path 'tmp/sockets/.unicorn.sock', $app_dir 6$pid = File.expand_path 'tmp/pids/unicorn.pid', $app_dir 7$std_log = File.expand_path 'log/unicorn.log', $app_dir 8# set config 9worker_processes $worker 10working_directory $app_dir 11stderr_path $std_log 12stdout_path $std_log 13timeout $timeout 14listen $listen 15pid $pid 16# loading booster 17preload_app true 18# before starting processes 19before_fork do |server, worker| 20 defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! 21 old_pid = "#{server.config[:pid]}.oldbin" 22 if old_pid != server.pid 23 begin 24 Process.kill "QUIT", File.read(old_pid).to_i 25 rescue Errno::ENOENT, Errno::ESRCH 26 end 27 end 28end 29# after finishing processes 30after_fork do |server, worker| 31 defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection 32end

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hatsu

2019/06/15 16:42

ユニコーンが起動しているか↓ ps -ef | grep unicorn | grep -v grep MySQLが起動しているか↓ mysql -u root -p service mysqld status Nginxが起動しているか↓ /etc/init.d/nginx status サイトにアクセスした際に、ログはどんなのが吐かれているか とか解決の参考になるかもなのであれば知りたいです。。。!
winterboum

2019/06/15 18:37 編集

ログは3つあります。 nginx, unicorn, rails 。 どのログでどう出ているのでしょうか
Marky

2019/06/15 23:04

ご質問ありがとうございます。 ただいま、改めてnginxのアクセスログをtailしたところ、どうやら出力されているのは10秒ごとに自動で流れるものだと思いました。 以下がそのログでございます。 ``` 10.0.0.194 - - [16/Jun/2019:07:56:37 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.1.80 - - [16/Jun/2019:07:56:37 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.0.194 - - [16/Jun/2019:07:56:47 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.1.80 - - [16/Jun/2019:07:56:47 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.0.194 - - [16/Jun/2019:07:56:57 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.1.80 - - [16/Jun/2019:07:56:57 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.0.194 - - [16/Jun/2019:07:57:07 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.1.80 - - [16/Jun/2019:07:57:07 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.0.194 - - [16/Jun/2019:07:57:17 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.1.80 - - [16/Jun/2019:07:57:17 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.0.194 - - [16/Jun/2019:07:57:27 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.1.80 - - [16/Jun/2019:07:57:27 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.0.194 - - [16/Jun/2019:07:57:37 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.1.80 - - [16/Jun/2019:07:57:37 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.0.194 - - [16/Jun/2019:07:57:47 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.1.80 - - [16/Jun/2019:07:57:47 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.0.194 - - [16/Jun/2019:07:57:57 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.1.80 - - [16/Jun/2019:07:57:57 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.0.194 - - [16/Jun/2019:07:58:07 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" 10.0.1.80 - - [16/Jun/2019:07:58:07 +0900] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/1.0" "-" ``` また、nginx mysql いずれも起動確認はactive(running)、unicornは3行のステータスが出力されました。
Marky

2019/06/15 23: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/15 23: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 02:16

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

回答3

0

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アドレス と実際に書き込んであるのか?という懸念がでてきました。

投稿2019/06/16 08:53

winterboum

総合スコア23329

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

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

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

unicornの応答を確認する

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

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

bash

1echo -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からレスポンスが返るかのチェック

bash

1echo -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/16 03:10

編集2019/06/23 12:00
suama

総合スコア1997

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Marky

2019/06/23 02:42

みさなまご回答ありがとうございます! あれからまだ修正できていないのですが、ご指摘の通りlogと向き合いながら解決に向けてやっていこうと思います。 ひとまずはご丁寧なアドバイスをくださったsuama様をベストアンサーに選ばせていただきました。
suama

2019/06/23 03:19

こんにちは。 修正の依頼のコメントに貼ってあるnginxのログですが、access.logに来ているリクエストはヘルスチェックのものですね。前にロードバランサが立っているのかな? (error.logにはPHP系のリクエストが来て失敗しているので、これはこれで攻撃っぽいので注意したほうがいいかと思います) Unicornの起動で問題があるのかなあとは思っています。 一度プロセスを全部切って、それから立ち上げてみるのがいいと思います。 プロセスIDのファイルを見て「すでに起動してるよ」と判断するのですが、この辺が残ってしまっていたりするとダメなことがあります。 こちらもよかったら参考に。 https://qiita.com/Coconew5/items/2f4ba976e58da9c1ec22
Marky

2019/06/23 08:52

ありがとうございます! unicorn.logを確かめたところ、以下の記事に告示する内容のエラーがあった為unicornを5.4.1→5.5.1にアップデートしたところエラーは解消されました。 https://teratail.com/questions/178669 しかしながらまだページが表示されないので、nginx側を疑ってはいます。 ずっと以下の内容のエラーが出ているのですが、これはおっしゃられている中の「攻撃っぽい」ものなのでしょうか。 ご協力に感謝いたします。 2019/06/23 14:49:20 [error] 17978#0: *29528 open() “/usr/share/nginx/html/html/public/index.php” failed (2: No such file or directory), client: 10.0.0.194, server: _, request: “GET /html/public/index.php HTTP/1.1", host: “52.196.219.115”
suama

2019/06/23 12:01

回答側に追記しました!
Marky

2019/07/04 13: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/ よろしくお願いいたします。
suama

2019/07/05 00:07

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

0

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

投稿2019/06/16 00:31

t_kusakabe74

総合スコア549

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問