amazonec2ではじめるmovable type

26
AmazonEC2 AmazonEC2 で始める で始める Movable Type Movable Type 2013/4/17 2013/4/17 藤本 藤本

Upload: hajime-fujimoto

Post on 10-Jun-2015

1.721 views

Category:

Technology


4 download

DESCRIPTION

Movable Type 5.2の新機能のPSGI+nginx対応と、その環境をAmazon EC2で利用する方法を紹介します。

TRANSCRIPT

Page 1: Amazonec2ではじめるMovable Type

AmazonEC2AmazonEC2で始めるで始めるMovable TypeMovable Type

2013/4/17 2013/4/17 藤本藤本 壱壱

Page 2: Amazonec2ではじめるMovable Type

今日の内容

• 自己紹介

• Movable Type 5.2のnginx/PSGI対応

• Amazon EC2のnginx/PSGI対応AMI

• まとめ

Page 3: Amazonec2ではじめるMovable Type

自己紹介

Page 4: Amazonec2ではじめるMovable Type

自己紹介その1

• 藤本 壱(ふじもと はじめ)

• 兵庫県伊丹市出身

• 群馬県前橋市在住

Page 5: Amazonec2ではじめるMovable Type

自己紹介その2

• 本職はPC系のフリーライター

• 2004年秋からMTユーザー

• さまざまなプラグインを開発(MailForm,SuperSort等)

Page 6: Amazonec2ではじめるMovable Type

自己紹介その3

http://www.h-fj.com/blog/

Page 7: Amazonec2ではじめるMovable Type

Movable Type 5.2のnginx/PSGI対応

Page 8: Amazonec2ではじめるMovable Type

管理画面が重い

• Movable Typeは管理画面が重い

• メニューを選択してからページが表示されるまでに3~5秒程度かかる

• 作業を行う上でストレス

Page 9: Amazonec2ではじめるMovable Type

管理画面が重い原因は「CGI」

リクエストを送信

WebサーバーがPerlを起動

MTのソースコード

の読み込み・解釈

リクエストされた処理の実行

• ソースコードの解釈のオーバーヘッドが大きい

• Perlの起動もオーバーヘッド

レスポンスを受信

ブラウザ サーバー

Page 10: Amazonec2ではじめるMovable Type

PSGIによる高速化

• MT5.2で「PSGI」に対応

• PSGI=Perl Web Server Gateway Interface Specification

• PerlのWebアプリケーションとWebサーバーを接続する際の規約

• アプリケーション自体をWebサーバーとして動作させることが可能

• アプリケーションをメモリに常駐させることが可能

Page 11: Amazonec2ではじめるMovable Type

PSGIによるMTの高速化

• ソースコード解釈のオーバーヘッドがなくなる

• 大幅なレスポンス改善

リクエストを送信

ブラウザ

PSGI化したMT(メモリに常駐)

リクエストされた処理の実行

レスポンスを受信

Page 12: Amazonec2ではじめるMovable Type

PSGI単体利用の弱点とnginxでの対応

• Webサーバーとは別のポートでMTを起動

• 管理画面のアドレスにポート番号を指定する必要が生じる例:http://www.foo.com:5000/mt/mt.cgi

• リバースプロキシでMTへのアクセスを転送

• nginxをリバースプロキシとして使う

Page 13: Amazonec2ではじめるMovable Type

nginxの概要

• ロシア製のオープンソースWebサーバー

• Apacheより軽量・省メモリ・高速

• 大量のアクセスをこなすのに最適

Page 14: Amazonec2ではじめるMovable Type

nginx+PSGI環境

• MTへのリクエストをMTにそのまま転送

• その他のリクエストはnginxが処理

ブラウザリクエスト

nginx

PSGI化したMTが処理

nginx自身が

処理

MTへの

リクエスト

その他のリクエスト

Page 15: Amazonec2ではじめるMovable Type

nginx+Apache+PSGI環境

• MTへのリクエストをMTにそのまま転送

• その他のリクエストはApacheが処理

ブラウザリクエスト

nginx

PSGI化したMTが処理

Apacheが

処理

MTへの

リクエスト

その他のリクエスト

Page 16: Amazonec2ではじめるMovable Type

Amazon EC2のnginx/PSGI対応AMI

Page 17: Amazonec2ではじめるMovable Type

nginx+PSGI対応のハードルの高さ

• 一般的な共有型レンタルサーバーでは利用不可

• VPSや専用サーバーが必要

• インストールや設定が面倒

• MTEZもあるがAmazon EC2も

Page 18: Amazonec2ではじめるMovable Type

MTOSインストール済みAMIで解決

• Amazon EC2=Amazonが提供するクラウドサーバー

• AMI(Amazon Machine Image)=OSや各種ソフトがインストール済みのサーバーイメージ

• MTOSインストール済みAMIですばやく環境構築(nginx+PSGI適用済み)

Page 19: Amazonec2ではじめるMovable Type

MTOSインストール済みAMIの利用手順

• Amazon EC2のアカウントを取得

• MTOSインストール済みAMIでサーバーを起動

• 固定IPアドレスの割り当て

• MTOSの初期設定

http://www.h-fj.com/blog/mtosami.php

Page 20: Amazonec2ではじめるMovable Type

デモをご覧ください

Page 21: Amazonec2ではじめるMovable Type

まとめ

Page 22: Amazonec2ではじめるMovable Type

まとめ

• MTが重い主な原因はCGI

• PSGI化することでパフォーマンスが向上

• MTOSインストール済みAMIでnginx+PSGI環境をすばやく導入

Page 23: Amazonec2ではじめるMovable Type

Two more things

Page 24: Amazonec2ではじめるMovable Type

CentOS 6.x用MTOSインストールスクリプト

• サーバー用Linuxで多用される「CentOS」にMTOSを手軽にインストール

• nginx/PSGI対応

• Movable Typeのテスト環境構築に

• 本番環境構築用のベースに

http://www.h-fj.com/blog/archives/2013/04/10-111542.php

Page 25: Amazonec2ではじめるMovable Type

MTCafe Saitama 2013

• MTCafe=Movable Typeユーザーの集い

• 6月29日(土)に大宮(コワーキングスペースOffice 7F)にて開催

• 「WPer&PHPerのためのMovable Type」がテーマ

http://kokucheese.com/event/index/85970/

Page 26: Amazonec2ではじめるMovable Type

ご清聴ありがとうございました