AWS でサーバを動作させるには Amazon EC2 (Amazon Elastic Compute Cloud) でインスタンスを立ち上げる必要があります。
VPS とかと同様にまっさらな OS イメージでマシンを立ち上げて環境構築しても良いんですが、WordPress でしか使わないとか用途が決まってる場合、毎回そんなことやってるのもメンドクサイし苦痛です。こっちは、素早くサーバをたちあげたいんじゃ!
…ってわけで、AWS には Amazon Machine Image (AMI) って仕組みがあります。
これは、構築済みのサーバイメージを利用して、まったく同じ環境のインスタンス(サーバ)を高速に立ち上げるための仕組みです。
Digitalcube でも、これを利用して迅速にサーバを構築しているのですが、そこで使っているパフォーマンスチューニング済みの AMI を公開して使ってもらうことにしました。
それが、"網元"サービスです。
とりあえず、第一弾として EC2 の一番安いインスタンス t1.micro で WordPress を動作させるためにチューニングした AMI を公開しました。
AWS さんでは新規にアカウントを作成すると、1年間は t1.micro を無料で利用できるようなので、気になる人は使ってみてください。
デモ: http://demo.ninjax.cc/
デモサーバは、AWS の東京リージョンで動作しています。
また、最近βリリースした CDN 提供サービス WP Booster も導入してあります。
仕様
- OS : CentOS 6.2 (x86_64)
- Web : Nginx 1.2.2
- PHP : PHP 5.3.14 with APC
- MySQL : Percona 5.5.24
インストールされる WordPress は、その時点で最新のバージョンです。(現在だと 3.4.1-ja)
さらに、幾つかのプラグインがデフォルトでインストールされています。
- Nginx Cache Controller
- The WP Booster CDN Client
- WP Remote Manager Client
- Head Cleaner
- WP Total Hacks
- Contact Form 7
- Flamingo
それぞれ有効化はされていないので、適宜有効化してください。
Nginx Cache Controller プラグインについては、これを有効にしておかないと Nginx リバースプロキシキャッシュは利用できないので、注意してください。
使い方
EC2 でインスタンス作成時に、ami-cab507cb を指定してください。
一般ユーザは作成していないため、ssh 接続する時は root で。
MySQL の root ユーザのパスワードは、無しで設定されています。
WordPress 用の MySQL ユーザは、自動で作成されます。ユーザ名・パスワードは、wp-config.php に埋め込まれていますので、そちらを見てください。
WordPress は /var/www/vhosts 以下にインストールされます。
デフォルトサイトは /var/www/vhosts/{インスタンス名} にインストールされているはずです。
HDD は Elastic Block Store (EBS) で 6GiB と少なめで作成されています。
ディスク容量を増やしたい場合は、以下の手順で増やせます。
- インスタンス停止後、スナップショットを作成
- スナップショットから、EBS ボリュームを作成。(このとき、ディスク容量を増やすことができます)
- 現在のインスタンスにアタッチされている EBS ボリュームをデタッチする。
- 手順 2 で作成したボリュームを /dev/sda1 として、インスタンスにアタッチする。
- インスタンスを起動する。
- ssh 接続して
# resize2fs /dev/xvda1
を実行する。
WordPress で他のマシン名でバーチャルホストを設定したい場合は、ssh 接続して # wp-setup example.com
を実行してください。
例えば example.com を設定した場合は、/var/www/vhosts/example.com 以下に WordPress がインストールされています。
Web サーバは Nginx が設定されています。設定ファイルは /etc/nginx 以下にまとめてあります。
各サイトの設定ファイルは /etc/nginx/conf.d の中に入っています。
最初は
- default.conf
- default.backend.conf
が入っています。
wp-setup コマンドで、バーチャルホスト example.com を追加した場合は、example.com.conf、example.com.backend.conf が追加されているはずです。
WP をシングルサイトインストールでは無く、マルチサイトインストールにしたい場合は 〜.backend.conf を修正してください。
網元の公式サイトは、現在作成中です。
できあがったら、そちらでも詳しいことを説明すると思います。
ピンバック: nginxの設定ファイルを書きなおした - UKLab
ピンバック: Amazonのクラウドサービスを使い始めました | ITエンゲル係数やや高め
ピンバック: Muninを2.0にしてみた。 » murmur
ピンバック: 備忘録 | AmazonEC2でWordPressを利用する | 備忘録
ピンバック: 網元で Ktai Style とか使う時の注意点 | dogmap.jp
ピンバック: WordVolcano 2012 SUMMER に参加してきたよ | 8bitodyssey.com
ピンバック: WordVolcano 2012 で鹿児島の WordPress コミュニティの熱さを感じてきました #wvkago – ja.naoko.cc
t1.micro結構あなどれないですね。ちょっと認識を改めてまたチャレンジしてみます。
公式ドキュメント、期待していまーす。
これはお手軽でいいですね。1年間は t1.micro を無料で利用っていう枠組みを知らなかったです。デモを見る限り、いい感じの速度ですね。t1.micro遅いっていうイメージがあったので、利用は控えていましたが、ぜひ今度チャレンジしてみたいと思います。網本サービス応援しています。
たてぶさん、はじめまして。
実は、このサイトも t1.micro です。t1.micro も、設定次第では十分速いですよ。
ただ、アクセス集中すると、さすがに限界が来ますが。