【ハンズオン1】補足_EC2再起動後に ブログ表示に時間がかかる、 および表示が崩れる場合の対応手順【2:59】

■コマンド
mysql -h database-1.cugxkyu5vnxr.ap-northeast-1.rds.amazonaws.com -u wordpress -p

USE wordpress

SELECT * FROM wp_options WHERE option_name IN ('siteurl', 'home');

UPDATE wp_options SET option_value = 'http://xx.xx.xx.xx' WHERE option_name IN ('siteurl', 'home');


0:00
前回までのデモで、EC2をシャットダウンしたり、再起動してしまって、
EC2のパブリックIPアドレスが変わってしまった場合、WordPressの表示が崩れしてしまいます。
また、接続に非常に時間がかかってしまうというケースがあります。
その対処方法を補足で説明させていただきます。
0:17
原因は、WordPressの仕様にあります。
WordPressがインストールされた際に、データベースにサイトのURL情報が保存されます。


保存箇所が2箇所ありますが、EC2を再起動した際に、IPアドレスを固定化していない状態ですと、
パブリックIPアドレスが変更されてしまいます。




実際にサイトにアクセスするURLとデータベースに保存されているURLに不整合が生じてしまうために、表示に時間がかかったり、レイアウトも崩れてしまうという事象です。
0:43
解決するためには、データベースに保存されているサイトのURLを実際にアクセスする新しい情報に書き換える必要があります。実際にやっていきましょう。


0:52
EC2にログインして、RDSへMySQLコマンドで接続しましょう。
コマンドはこちらになります。
mysql -h database-1.cugxkyu5vnxr.ap-northeast-1.rds.amazonaws.com -u wordpress -p
mysql -h の後に接続する先のホスト名です。
今回は、RDSのエンドポイント名のドメイン名を指定しています。

1:08
ドメイン名は、RDSの画面表示されているエンドポイント。
こちらのドメインをコピーして、貼り付けます。
続いて、-u でユーザー名を指定します。
WordPressをインストールした際に指定したユーザー名です。今回はwordpressになります。
-p の時点でEnterを押します。
そうするとパスワードの入力画面になりますので、
WordPressをインストールした際のパスワードを入力してEnterを押してください。

1:35
パスワードの認証が通ると、MySQLのコマンドプロンプトが表示されます。
デモでは、wordpressというテーブル名を設定しましたので、
USEで、wordpressというテーブル名を指定して、Enterを押します。

1:50
続いて、こちらのコマンドです。
SELECT * FROM wp_options WHERE option_name IN ('siteurl', 'home');
SELECT *FROMから始まるこちらのコマンドを実行します。
現在設定されているサイトのURLがこちらに保存されています。
この設定と現在のEC2のIPアドレスに相違があるから不整合が生じてしまっているわけです。
なので、データベースに保存されているこちらのURLを現在のEC2のIPアドレスに置き換えます。

2:14
こちらのコマンドを貼り付けてください。
UPDATE wp_options SET option_value = 'http://xx.xx.xx.xx' WHERE option_name IN ('siteurl', 'home');
そして、http のこのうしろ。IPの指定箇所にEC2インスタンスのパブリックIPアドレスを入力してください。

2:25
EC2のパブリックIPアドレスはこちらです。
こちらをコピーして、貼り付けをしてEnterを押すことでテーブル内容が書き換わります。
上カーソルを2回押しますと、先ほどのコマンドがまた表示されますので、
この状態でEnterを押しましょう。
そうすると、EC2インスタンスのパブリックIPアドレスに2つとも置き換わっていることが確認できました。
あとは、この状態でWordPressの表示が崩れていた画面を更新ボタンでリロードしてみてください。
表示が直っているはずです。
以上補足となります。