wordpress on heroku

38
WordPress on Heroku 2014/05/22 Kokoro Sato Heroku Meetup #12 恋に落ちるときはいつもハッピー

Upload: kokoro-sato

Post on 26-May-2015

3.131 views

Category:

Engineering


2 download

DESCRIPTION

Heroku Meetup #12

TRANSCRIPT

Page 1: Wordpress on heroku

WordPress on Heroku

2014/05/22 Kokoro Sato Heroku Meetup #12 恋に落ちるときはいつもハッピー

Page 2: Wordpress on heroku

about佐藤こころ Engineer@FLECT twitter @i556 FB /satokokoro 【最近の感心事】 人狼ゲーム

Page 3: Wordpress on heroku

FLECT

http://www.quizar.info/

Facebook https://www.facebook.com/flect.co.jp

twitter@flect_jp

www.flect.co.jp

Page 4: Wordpress on heroku

Menu• Heroku上にWordPressを構築する(完全無料)

• Heroku×WordPressのベストプラクティス

Page 5: Wordpress on heroku

about WordPress・PHP+MySQL構成のCMS(ブログ) ・テーマ、ウィジット、書籍、プラグイン、  ホスティングサービスが充実している  CMSの王様 ・最新VersionはVer3.9.1  今回のデモは全てVer3.9.1(ja)で試してます

・デザイナー/セミプロユーザが多い

Page 6: Wordpress on heroku

WordPress with PaaS!

!

!

WordPress を Windows Azure クラウドサービス で利用する http://msdn.microsoft.com/ja-jp/windowsazure/jj898461 !

クラウドでもう困らない! WordPress快適運用術 http://www.awsmicrosite.jp/ec2-wp/

Page 7: Wordpress on heroku

Heroku PHP Support

2014/4/29 new PHP in public beta on

Heroku

Page 8: Wordpress on heroku

PHP Runtimes on HerokuPHP HHVM

https://devcenter.heroku.com/articles/php-support#runtimes

Page 9: Wordpress on heroku

Heroku PHP Support composer.jsonを使う

composer.jsonindex.php

buildpack

composer.json

{ "require": { "hhvm": “3.0.1" }

{ "require": { "php": "5.5.12" }

カラ

HHVM

PHP

一応PHP

Page 10: Wordpress on heroku

WordPressに必要なもの

PHP実行環境 データベース ストレージ

サーバ監視 高速化

MustWant

Page 11: Wordpress on heroku

サーバ監視

ストレージ(画像)

高速化

http://cloudinary.com/

https://addons.heroku.com/newrelic https://addons.heroku.com/memcachier

PHP実行環境データベース

https://addons.heroku.com/cleardb

https://addons.heroku.com/heroku-postgresql

有料

無料枠あり 画像のみ

Page 12: Wordpress on heroku

WordPressリソースの配置1. http://ja.wordpress.org/  から直接圧縮ファイルをDLしてきて展開 !

2.または composerを使う

Herokuアプリ 直下に展開した/wordpress

の中身をコピー

Page 13: Wordpress on heroku

composer.jsonの設定composer.jsonでPHP Runtimeを指定

PHP HHVM

{ "require": { "php": "5.5.12" } }

{ "require": { "hhvm": “3.0.1” } }

Page 14: Wordpress on heroku

ClearDBのアドオン追加ClearDBのアドオンをインストール $ heroku addons:add cleardb !

データベースの接続情報を取得 $ heroku config | grep CLEARDB_DATABASE_URL

Page 15: Wordpress on heroku

CLEARDB_DATABASE_URL: mysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}/{DB_NAME}?reconnect=true の型式になっているので設定ファイルwp-config.php を編集

DB_NAME DB_USER

DB_PASSWORD DB_HOST の4カ所

Page 16: Wordpress on heroku

ストレージWordpressの画像のアップロード先は DBではなく/imagesフォルダ !

Gitでバージョン管理されないため Dyno再起動で消えてしまう… !

Herokuはアップロードされたファイル などをファイルとしてに永続保持する ことができません

Page 17: Wordpress on heroku

Cloudinary

http://cloudinary.com/

500MBの無料枠 画像だけでなくExcelやPDF等 のファイルもアップロードできる

Page 18: Wordpress on heroku

Cloudinaryの設定1

https://wordpress.org/plugins/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/

1.WordPressの CloudinaryプラグインをDL

2.DLしたファイルを /wp-content/plugins 以下に配置

Page 19: Wordpress on heroku

Cloudinaryの設定2http://cloudinary.com/ に無料サインアップして、 API KEYを取得します

Page 20: Wordpress on heroku

デプロイ準備が整ったので $ git add. $ git commit -m “add wordpress” $ git push origin master

Page 21: Wordpress on heroku

WPの初期設定

Page 22: Wordpress on heroku

Cloudinaryプラグインを有効化&CLOUDINARY_URLを登録 

CLOUDINARYの環境変数

Page 23: Wordpress on heroku

demo

http://gentle-fortress-5294.herokuapp.com/wp-admin/

ID:wp-demo1 PASS:wp-demo1

Page 24: Wordpress on heroku

effectがかけられる

Page 25: Wordpress on heroku

new relicheroku addons:add newrelic:stark

Page 26: Wordpress on heroku

New Relic{ "require": { "php": "5.5.12", "ext-memcached": "*", "ext-newrelic": "*" }

}

https://docs.newrelic.com/docs/php/php-agent-phpini-settings

https://docs.newrelic.com/docs/php/php-agent-phpini-settings

HHVMでは使えない

Page 27: Wordpress on heroku

MemCachierheroku addons:add memcachier

Page 28: Wordpress on heroku

HHVM vs PHP 負荷テストPHPHHVM 2倍

Page 29: Wordpress on heroku

Best PracticeHerokuでスモールスタートで

WordPressを始めるベストプラクティス !

HHVM+ClearDB + Cloudinary + MemCachier

Page 30: Wordpress on heroku

メリット まずは完全無料から始められる 簡単 !

デメリット ストレージのリソースが Gitのバージョン管理外 無料枠での実運用は厳しい

Page 31: Wordpress on heroku

Advanced

Page 32: Wordpress on heroku

データベースをHeroku Postgresにしてみる

PostgreSQL for WordPress (PG4WP) http://wordpress.org/plugins/postgresql-for-wordpress/ WordPress 3.2.1 に対応しているのを確認

※WP本体のバージョンを選んでしまうので おすすめしません。

Page 33: Wordpress on heroku

ストレージをS3にしてみるWordPress Amazon S3 Plugin https://wordpress.org/plugins/wp-s3/ !

※動画など大容量のファイルをhostする場合に 選択肢としてあればいいかも

Page 34: Wordpress on heroku

その他

FlyData Papertrail Sendgrid

Page 35: Wordpress on heroku

思った事・WordPressが動くという  ある意味マーケティングツール ・そもそも画像は自前でHost  しないという選択

・SEO対策 !

Page 36: Wordpress on heroku

デモ環境※ご自由にどうぞ

http://gentle-fortress-5294.herokuapp.com/ http://gentle-fortress-5294.herokuapp.com/wp-admin ユーザ名: wp-demo1 PASS:ユーザ名と同じ PHP/ClearDB/MemCachier/New Relic

http://aqueous-fjord-7206.herokuapp.com/ http://aqueous-fjord-7206.herokuapp.com/wp-admin ユーザ名: wp-demo2 PASS:ユーザ名と同じ HHVM/ClearDB/

http://cryptic-scrubland-2600.herokuapp.com/ http://cryptic-scrubland-2600.herokuapp.com/wp-admin ユーザ名: wp-demo3 PASS:ユーザ名と同じ HHVM/ClearDB/

http://rocky-castle-8855.herokuapp.com/ http://rocky-castle-8855.herokuapp.com/wp-admin ユーザ名: wp-demo4 PASS:ユーザ名と同じ HHVM/ClearDB/

Page 37: Wordpress on heroku

FLECTFacebook https://www.facebook.com/flect.co.jp

twitter@flect_jp

www.flect.co.jp

Page 38: Wordpress on heroku

Facebook https://www.facebook.com/flect.co.jp

今日Likeしてくれたら HHVM+ClearDB +

Cloudinary + MemCachier 環境プレゼント!