超高速 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
かなり省略したので、備忘になった気がする