AWS EC2+EBS(MySQL)+WordPressを構築してみた。

超高速 WordPress AMI 網元(http://ja.megumi-cloud.com/)で
いいじゃんと思っていたのですが、ちょっとだけ会社のお金を
使わせていただいて構成を検証しました。

[構成] EC2にEBSボリュームをマウントして、EBSボリュームに
             Mysqlデータを格納する WordPressのデータも一緒に
             EBSへ格納されるはず

[AMI] suz-lab_centos-core-6.3.4 (ami-3417ae35)を利用しました。

1.AMIをLaunchする際のストレージ設定でEBSを追加(10GB程度)
2.EC2が起動したら、httpd・Mysqlをセットアップする
 →参考:http://centossrv.com/ いつもお世話になっております
3.EBSボリュームをマウントする(たぶん自動的にマウントしてないはず)
[root@ip-10-128-11-177 wordpress]# df -k
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/xvde1             6192704   2407456   3470676  41% /
none                    302416         0    302416   0% /dev/shm
[root@ip-10-128-11-177 wordpress]# fdisk -l

ディスク /dev/xvde1: 6442 MB, 6442450944 バイト
ヘッド 255, セクタ 63, シリンダ 783
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000

ディスク /dev/xvdj: 10.7 GB, 10737418240 バイト ←マウントされてないディスク
ヘッド 255, セクタ 63, シリンダ 1305
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000

[root@ip-10-128-11-177 wordpress]# mkfs -t ext3 /dev/sdb1 ←フォーマット
[root@ip-10-128-11-177 wordpress]# mount /dev/xvdj /mnt/data ←マウントする
[root@ip-10-128-11-177 wordpress]# df -k
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/xvde1             6192704   2407472   3470660  41% /
none                    302416         0    302416   0% /dev/shm
/dev/xvdj             10321208    184340   9612580   2% /mnt/data

4.Mysql停止 ファイル移動→設定ファイル編集→Mysql起動→Mysqlログイン
mysqld を停止中:                                           [  OK  ]
[root@ip-10-128-11-177 wordpress]# /etc/rc.d/init.d/mysqld stop
[root@ip-10-128-11-177 wordpress]# mkdir /mnt/data/mysql
[root@ip-10-128-11-177 wordpress]# mv /var/lib/mysql/* /mnt/data/mysql
[root@ip-10-128-11-177 wordpress]# vi /etc/my.cnf
[mysqld]
# Settings user and group are ignored when systemd is used (fedora >= 15).
# If you need to run mysqld under different user or group,
# customize your systemd unit file for mysqld according to the
# instructions in http://fedoraproject.org/wiki/Systemd
user=mysql

#datadir=/var/lib/mysql ←コメントする
datadir=/mnt/data/mysql ←mountしたEBSを指定する(ディレクトリ)
socket=/var/lib/mysql/mysql.sock
↑※注 普通に考えるとmysql.sockも変更ですが、変更するとMySqlへ接続できなくなる

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server = utf8

[root@ip-10-128-11-177 wordpress]# /etc/rc.d/init.d/mysqld start
mysqld を起動中:                                           [  OK  ]
[root@ip-10-128-11-177 wordpress]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 2
Server version: 5.5.28-cll MySQL Community Server (GPL) by Atomicorp

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.

mysql>
※起動時にエラーがでるかもしれませんが無視してください

5.WordPressをインストールする
 →参考:http://centossrv.com/ いつもお世話になっております
6.WordPressにアクセスしてみる
 http://サーバー名(IPアドレス)/wordpress/へアクセスする
7.起動が確認できたら、一旦サーバを停止する
8.EC2 Management ConsoleでインスタンスからAMIを作成する
 ストレージ設定では、追加したEBSを削除(AMIに含めない)
9.AMIをLaunchする際は、AvailabilityZoneを作成元インスタンスに
 合わせて下さい。先程のEBSがマウントできなくなります。
 ※EBS→SnapShot→EBS作成時にAvailabilityZoneを指定すれば
  他のAvailabilityZoneでもOKです。

9.EC2 Management ConsoleでEBS→Volumesから該当VolumesをDetach
 起動したEC2へAttachする
 ※そのまま/devを指定せずにデフォルトのままAttachする

10.起動したEC2にログインし、AttachされたEBSを確認しマウントする
[root@ip-10-128-11-99 wordpress]# fdisk -l

ディスク /dev/xvde1: 6442 MB, 6442450944 バイト
ヘッド 255, セクタ 63, シリンダ 783
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000

ディスク /dev/xvdj: 10.7 GB, 10737418240 バイト ←Attachされたディスク
ヘッド 255, セクタ 63, シリンダ 1305
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000

[root@ip-10-128-11-99 wordpress]# mount /dev/xvdj /mnt/data ←マウントする
[root@ip-10-128-11-99 wordpress]# df -k
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/xvde1             6192704   2407472   3470660  41% /
none                    302416         0    302416   0% /dev/shm
/dev/xvdj             10321208    184340   9612580   2% /mnt/data

11.Mysqlとhttpdを再起動する
[root@ip-10-128-11-99 wordpress]# /etc/rc.d/init.d/mysqld restart
mysqld を停止中:                                           [  OK  ]
mysqld を起動中:                                           [  OK  ]
※再起動時にエラーが出る可能性がありますが無視してください
[root@ip-10-128-11-99 wordpress]# /etc/rc.d/init.d/httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

12.WordPressにアクセスしてみる
 http://サーバー名(IPアドレス)/wordpress/へアクセスする

 →サーバ名部分をIPアドレスで接続しWordPressを初期セットアップした場合
  画面が正常に表示されません。その場合はDBファイルをupdateします。
[root@ip-10-128-11-99 wordpress]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 2
Server version: 5.5.28-cll MySQL Community Server (GPL) by Atomicorp

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.

mysql>use wordpress;
mysql>update wp_options set option_value=’http://10.128.11.99/wordpress’ where option_id=1;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> quit

かなり省略したので、備忘になった気がする

シェアする

  • このエントリーをはてなブックマークに追加

フォローする