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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Ruby on Rails

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

AWS(Amazon Web Services)

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

Q&A

解決済

1回答

581閲覧

AWSで公開したサイトが時々サーバーダウンして困ってます

ma_k

総合スコア33

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Ruby on Rails

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

AWS(Amazon Web Services)

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

0グッド

1クリップ

投稿2020/10/23 04:37

Ruby on Rails でサイトを作成し、

AWSを使ってサイトを公開しました。

Unicorn nyginxを利用しました。

時々、サーバーが落ちてしまい、
困っています。

この画像が出てきます

いろいろ調べた結果、

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

したあと、
サーバーを再起動すると
また、うまく行きますが、

時間が立つと。

また落ちてしまします。

原因と
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
の自動設定などを調べてみましたが
うまく解決策を見つけることができずに困っています。

自動設定などどなたかご教授いただけないでしょうか

よろしくお願いします。

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

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

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

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

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

yukky1201

2020/10/23 04:57

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock でリンクを作成している理由は何でしょうか。 サーバ落ちてるタイミングで、/tmp/mysql.sockの存在有無はどうなっていたのでしょうか。 /tmp配下に作成したため自動クリーンアップで消えてしまっているとか、そうゆうことはないですか。
ma_k

2020/10/23 05:15

コメントありがとうございます。 ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock は検索しながら進めていたときにコピペしました。 サーバ落ちてるタイミングで/tmp/mysql.sockの存在を確認してませんでした。 誠にお恥ずかしい話なのですが、/tmp/の意味を分からず使っていました。 先ほど、自動削除されるファイルだと調べて知りました。 ということは、 ln -s /var/lib/mysql/mysql.sock で ファイルができたらサーバー落ちないのでしょうか。
yukky1201

2020/10/23 05:41

lnコマンドで実現しているのは windowsで例えるとショートカットの作成です そのショートカットが必要なのか?実態のファイルを参照すればいいのでは?という疑問があります。 なぜ/tmp/mysql.sockが必要なのかはmysqlの設定にも関わる箇所だと思います
yu_1985

2020/10/23 05:42

まず、それが原因で落ちていることにどういう過程で行き当たったのでしょうか。 結局解消していないように思えますが…。
yu_1985

2020/10/23 05:44 編集

それと、わざわざシンボリックリンクを作らなくてもmysqlのソケットファイルを直接参照させればいいのでは?
ma_k

2020/10/23 06:22

すみません。サイト自分で調べながら作成していまして、 知識不足、理解不足が多いのですが、 ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock に行き着いたのは、 mysql設定しているときに使用したコマンドで、 サーバー落ちたときに、何かの解決策を探していたときに、このコマンドを試してみたところ、その時は 再起動できてそれ以来落ちたら使用しておりました。 実態のファイルを参照とはどうすればいいのでしょうか。 直接参照とはどうすればいいのでしょうか。
yu_1985

2020/10/23 06:30

mysqlの設定ファイルにどこにソケットファイルがあるか書いてあるはずなので、database.ymlでそのパスを指定してやればいいだけかと。 ただ、申し訳ないですが本当にそこが原因であるかが怪しいと思っています。 何をどう調べたのかわかりませんが、まずはunicornのログを見てください。
ma_k

2020/10/23 07:03

サイトを作成したのが半年ほど前で記憶が定かではないのですが、 https://qiita.com/naoki_mochizuki/items/5a1757d222806cbe0cd1#mysql%E3%81%AE%E8%A8%AD%E5%AE%9A を参考に作成しました。 database.ymlを確認しますと、、、 default: &default adapter: mysql2 encoding: utf8 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root password: socket: /tmp/mysql.sock ↑ここの設定を修正すればよろしいでしょうか?
ma_k

2020/10/23 07:03

unicornのログ確認してみます。。。
ma_k

2020/10/23 14:35

unicornのログはエラーが見当たらず、、、 I, [2020-10-23T04:13:07.120092 #26198] INFO -- : reaped #<Process::Status: pid 26206 exit 0> worker=0 I, [2020-10-23T04:13:07.120779 #26198] INFO -- : reaped #<Process::Status: pid 26207 exit 0> worker=1 I, [2020-10-23T04:13:07.120871 #26198] INFO -- : master complete I, [2020-10-23T04:13:29.925383 #26521] INFO -- : Refreshing Gem list I, [2020-10-23T04:13:31.179549 #26521] INFO -- : unlinking existing socket=/var/www/rails/ma_k/tmp/sockets/.unicorn.sock I, [2020-10-23T04:13:31.179745 #26521] INFO -- : listening on addr=/var/www/rails/ma_k/tmp/sockets/.unicorn.sock fd=9 I, [2020-10-23T04:13:31.187205 #26521] INFO -- : master process ready I, [2020-10-23T04:13:31.193261 #26529] INFO -- : worker=0 ready I, [2020-10-23T04:13:31.194907 #26530] INFO -- : worker=1 ready このように別の日付もなっていました。 とりあえず、Socketの設定を調べてみます。
guest

回答1

0

ベストアンサー

config/database.yml に
socket: /tmp/mysql.sock

という行があると思います。それを下に直してください。
socket: /var/lib/mysql/mysql.sock

投稿2020/10/24 03:56

winterboum

総合スコア23567

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

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

ma_k

2020/10/24 14:46

わかりました!ありがとうございます!
ma_k

2020/10/31 09:25

おかげさまで、設定変更してから今のところサーバーが落ちなくなりました! ありがとうございましたー!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問