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

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

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

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

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

Amazon EC2

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

Q&A

解決済

3回答

1439閲覧

AWSのEC2インスタンスでRailsの起動が行いたい

shun0211

総合スコア4

unicorn

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

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

Amazon EC2

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

0グッド

0クリップ

投稿2020/05/04 14:17

編集2020/05/05 01:20

前提・実現したいこと

初心者で初投稿になります。
ずれた発言や足らない情報等ありましたらすいません。

AWSのEC2インスタンスを使って本番環境においてRailsの起動が行いたいのですが、
「$ bundle exec unicorn_rails -c config/unicorn.rb -E production -D」
のコマンドを打つとブラウザ上で下のように表示されています。
「The page you were looking for doesn't exist.」
ローカルではYay! You’re on Rails!と表示できます。

発生している問題・エラーメッセージ

$ less log/unicorn.stderr.logでエラーメッセージを確認すると、下のように出てきます。

terminal

1E, [2020-05-04T07:10:10.701899 #15720] ERROR -- : Can’t connect to local MySQL server through 2socket ‘/tmp/mysql.sock’ (2) (Mysql2::Error::ConnectionError)

また、ログの中には下のような記載もありました。

terminal

1ArgumentError: Already running on PID:18437 (or pid=/var/www/FesLive-app/tmp/pids/unicorn.pid 2is stale)

該当のソースコード

databaseyml

1production: 2 <<: *default 3 database: FesLive-app_production 4 username: root 5 password: <%= ENV['DATABASE_PASSWORD'] %> 6 socket: /var/lib/mysql/mysql.sock

試したこと

・mysqlの起動と接続は問題なく行えます。
・下のコマンドを打つと、「/var/lib/mysql/mysql.sock」と返ってきてconfig/database.ymlの記載内容と
一致しています。
$ mysql_config --socket
・/var/lib/mysql内にmysql.sockがあることは確認済みです。
・EC2サーバ側のSECRET_KEY_BASEは設定済みです。
・EC2インスタンスの再起動を行いましたが、変化なしでした。
・ローカルで最新のコードをコミット、プッシュし、サーバー側にプルも問題なく行えます。

追記(5/5 AM10:00)
新たに$ mysql --help | grep my.cnfコマンドにより、
my.cnfファイルの場所を確認すると
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
と返ってきました。
その中の一つの/etc/my.cnfファイルの中身を書いてみると
[MySQL]の記述はありましたが、[client]の記述はありませんでした。
こちらがなにか関係しているのでしょうか。。

初歩的な質問にはあるとは思いますが、何卒よろしくお願いしますm(_ _;)m

補足情報(FW/ツールのバージョンなど)

Railsバージョン:5.0.7.2

Rubyバージョン:2.5.1p57

Bundlerバージョン:2.0.2

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

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

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

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

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

guest

回答3

0

エラーメッセージは
Can’t connect to local MySQL server through
socket ‘/tmp/mysql.sock’

だがsocketは /var/lib/mysql/mysql.sock にある。

/tmp/mysql.sock’  を定義してるfileを探してください。

投稿2020/05/05 08:37

winterboum

総合スコア23567

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

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

shun0211

2020/05/05 10:43

初心者な質問ですいません。 /tmp/mysql.sockを定義するファイルをどうやって探せばいいのでしょうか??
winterboum

2020/05/05 13:18

unicorn起動時のエラーなので、Unicornの設定ファイルを確認するのが最初かと。
shun0211

2020/05/08 02:48

教えて頂いている身で大変恐縮ですが、Unicorn設定ファイルのどこを確認すればよかったかまで教えて頂きたかったです。。 今回は他の要因でしたので、一旦閉めさせていただきます。 ご回答ありがとうございました。
guest

0

AWSはあまり詳しくありませんが、
こちらもしかしたら参考になるかもしれません。
http://taremimi.hatenablog.jp/entry/2018/03/09/135651
https://www.yuta-u.com/programing/mysql-error

投稿2020/05/04 15:35

gnfreeworks

総合スコア306

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

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

shun0211

2020/05/04 23:32

試しましたが、Rails 起動せずです。。
guest

0

自己解決

エラーが出た原因はコントローラーもルートもビューも用意していない状態だったことです。
本番環境で、開発環境でデフォルトで表示される「Yey!, you're on rails!」の画面をだそうとしていました。
なぜソケットのエラーが表示されたのかは未だなぞですが、一旦解決はしました。
ご回答頂いた方、ありがとうございました。

投稿2020/05/08 02:55

shun0211

総合スコア4

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問