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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails

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

Amazon EC2

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

Q&A

解決済

2回答

435閲覧

EC2サーバでrailsが起動できない

oribanda

総合スコア3

Ruby on Rails

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

Amazon EC2

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

0グッド

1クリップ

投稿2020/07/13 00:42

編集2020/07/13 12:41

AWS EC2サーバにて bundle exec unicorn_rails -c config/unicorn.rb -E production -Dを実行するとmaster failed to start, check stderr log for detailsと表示され起動ができないので、解決したいです。

試したことは、less log/unicorn.stderr.logでエラー確認。
ERROR -- : Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (Mysql2::Error)
上記のエラーが表示されていました。Mysqlを繋げていたはずですが、念の為database.yml(ローカル)にて下記を確認

production: <<: *default database: songs_search_production username: root password: <%= ENV['DATABASE_PASSWORD'] %> socket: /var/lib/mysql/mysql.sock

その後、git pull origin masterし、rails db:create RAILS_ENV=productionをしましたが、

From https://github.com/Oribanda/songs_search * branch master -> FETCH_HEAD Already up-to-date.

と表示されました。念の為、rails db:migrate RAILS_ENV=productionを実行し、特に何も編集していないので何も起こりませんでした。
もう一度、bundle exec unicorn_rails -c config/unicorn.rb -E production -Dを実行するも、
master failed to start, check stderr log for detailsと同じものが表示されました。

cat /etc/os-releaseの結果
NAME="Amazon Linux AMI"
VERSION="2018.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2018.03"
PRETTY_NAME="Amazon Linux AMI 2018.03"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2018.03:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"

自身で調べてみて思った仮説
master failed to start, check stderr log for detailsがリモートにマスターがないと言われている事から、一度、git branch -aで確認をしてみました。

* DB設計 remotes/origin/DB設計 remotes/origin/HEAD -> origin/DB設計 remotes/origin/master

上記のように表示され、* DB設計になっていることに気付きました。
その後、リモートブランチのデフォルトブランチがDB設計になっていたので、masterに変えてDB設計を削除し、masterでコミット&プッシュとec2内でもpullをして再度、
bundle exec unicorn_rails -c config/unicorn.rb -E production -Dを実行してみましたが、変わらずmaster failed to start, check stderr log for detailsと表示され、git branch -aで再度確認するも変わらず、DB設計になっていました。
そこが
masterになれば解決できると思われますが、上手く行かないです。

理解ができておらず解決できません。
解決方法を教えて頂けると幸いです。
よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

自己解決

再度、ec2へログインし直し、less log/unicorn.stderr.logで最新のエラーを確認するとArgumentError: Already running on PID:〜と表示されていたので、ps aux | grep unicornでプロセスを確認し、killコマンドを実行したところ、起動することができました。

投稿2020/07/13 12:51

oribanda

総合スコア3

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

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

0

ec2インスタンス内で、MySQLサーバは起動していますでしょうか。
sudo systemctl list-units | grep mysql で確認してみてください。

投稿2020/07/13 03:08

kazto

総合スコア7196

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

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

oribanda

2020/07/13 03:26 編集

回答ありがとうございます。 ec2インスタンス内で実行してみましたが、実行ができません。 [ec2-user@ip-172-31-44-8 ~]$ sudo systemctl list-units | grep mysql sudo: systemctl: コマンドが見つかりません アプリが格納されているディレクトリに移動しても同じでした。 上記のような入力の仕方で合っていますか? 知識不足で申し訳ございません。
kazto

2020/07/13 04:30

ec2 インスタンスのOSは何を選択しましたでしょうか。 `cat /etc/os-release` の結果を教えてください。
oribanda

2020/07/13 07:38

承知致しました。 ありがとうございます。 下記が結果になります。 NAME="Amazon Linux AMI" VERSION="2018.03" ID="amzn" ID_LIKE="rhel fedora" VERSION_ID="2018.03" PRETTY_NAME="Amazon Linux AMI 2018.03" ANSI_COLOR="0;33" CPE_NAME="cpe:/o:amazon:linux:2018.03:ga" HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問