Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Osamu Nagatani
5,420 views
サーバサイドエンジニアから見た MT構築のレガシーなノウハウ (入門編)
CMSどうでしょう〜MT・WP対決列島〜 仙台編での資料です。
Engineering
◦
Read more
5
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 21
2
/ 21
3
/ 21
4
/ 21
5
/ 21
6
/ 21
7
/ 21
8
/ 21
9
/ 21
10
/ 21
11
/ 21
12
/ 21
13
/ 21
14
/ 21
15
/ 21
16
/ 21
17
/ 21
18
/ 21
19
/ 21
20
/ 21
21
/ 21
More Related Content
PPTX
10年以上Java屋してたおっさんが 今年からフロントエンジニアやっている話
by
takehiko yoshida
PDF
最速で価値を提供する
by
LIFULL Co., Ltd.
PDF
デザイナーにもできる再構築の高速化/負荷分散
by
Hajime Fujimoto
PDF
Cmsdou oosaka
by
onagatani
PDF
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
by
Naoki Yamada
PDF
Yapc asia 2011
by
onagatani
PDF
How to develop a huge Single Page Application
by
Naoki Yamada
PDF
“MT on AWS”でWebサイト構築! 作り手が気をつけておきたいポイント
by
Monster Dive, Inc.
10年以上Java屋してたおっさんが 今年からフロントエンジニアやっている話
by
takehiko yoshida
最速で価値を提供する
by
LIFULL Co., Ltd.
デザイナーにもできる再構築の高速化/負荷分散
by
Hajime Fujimoto
Cmsdou oosaka
by
onagatani
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
by
Naoki Yamada
Yapc asia 2011
by
onagatani
How to develop a huge Single Page Application
by
Naoki Yamada
“MT on AWS”でWebサイト構築! 作り手が気をつけておきたいポイント
by
Monster Dive, Inc.
What's hot
PDF
中の下のエンジニアを脱出するための仕事術
by
Noriaki Kadota
PPTX
チームラボ スマホアプリチームの面白い仕事の作り方
by
Wataru Sakashita
PDF
我が家のフロントエンド開発事情
by
Naoki Yamada
PPTX
最近誰かに「やったほうがいいよ」と伝えた7のこと
by
Noriaki Kadota
PDF
在宅フリーランスで 失敗した話3選
by
Tomoe Sawai
PDF
ソースコードレビューのススメ
by
KLab Inc. / Tech
PDF
生粋のRubyistがJavaを好きになった理由
by
Akira Kitauchi
PDF
three.jsによる一歩進めたグラフィカルな表現
by
Kei Yagi
PDF
JavaFXとRoboVMを使ってiOS上で動くアプリを試してみた
by
Satoshi Takami
PDF
最近挑戦していること at MF Geeks Night 2015.03.19
by
Naoto Koshikawa
PPTX
Chatopsのおかけでエンジニアがルーティンワークから解放された話
by
葛 飛
PPTX
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
by
Yusuke Kawabata
PPTX
ドメイン駆動設計と サーバサイドと私
by
Noriaki Kadota
PDF
地方フリーランスとして ゆるいチームで生き抜いてる話
by
Tomoe Sawai
PDF
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
by
Hisateru Tanaka
PPTX
「自分でやる」という快感を追い続ける - あるプログラマーの成長戦略 -
by
Isao Takahashi
PPTX
あらためて考える、これからの仮想化インフラのためのデータセンター
by
VirtualTech Japan Inc.
PDF
20150531 phpcon kansai
by
kumamidori
PDF
WordPress tokyo2015 - 公式プラグインでお金を稼ぐことができるか?
by
Masahiro Nakashima
中の下のエンジニアを脱出するための仕事術
by
Noriaki Kadota
チームラボ スマホアプリチームの面白い仕事の作り方
by
Wataru Sakashita
我が家のフロントエンド開発事情
by
Naoki Yamada
最近誰かに「やったほうがいいよ」と伝えた7のこと
by
Noriaki Kadota
在宅フリーランスで 失敗した話3選
by
Tomoe Sawai
ソースコードレビューのススメ
by
KLab Inc. / Tech
生粋のRubyistがJavaを好きになった理由
by
Akira Kitauchi
three.jsによる一歩進めたグラフィカルな表現
by
Kei Yagi
JavaFXとRoboVMを使ってiOS上で動くアプリを試してみた
by
Satoshi Takami
最近挑戦していること at MF Geeks Night 2015.03.19
by
Naoto Koshikawa
Chatopsのおかけでエンジニアがルーティンワークから解放された話
by
葛 飛
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
by
Yusuke Kawabata
ドメイン駆動設計と サーバサイドと私
by
Noriaki Kadota
地方フリーランスとして ゆるいチームで生き抜いてる話
by
Tomoe Sawai
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
by
Hisateru Tanaka
「自分でやる」という快感を追い続ける - あるプログラマーの成長戦略 -
by
Isao Takahashi
あらためて考える、これからの仮想化インフラのためのデータセンター
by
VirtualTech Japan Inc.
20150531 phpcon kansai
by
kumamidori
WordPress tokyo2015 - 公式プラグインでお金を稼ぐことができるか?
by
Masahiro Nakashima
Viewers also liked
PPTX
安全なPHPアプリケーションの作り方2016
by
Hiroshi Tokumaru
PDF
Movable typeでモバイルギャラリーサイト
by
regret raym
PDF
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
by
Ryutaro YOSHIBA
PDF
初めての Data API CMS どうでしょう - 仙台編 -
by
Yuji Takayama
PPTX
Webディレクターとして word pressを提案するときに考えること + 運用
by
Junzo Matunoo
PDF
Movable Type for AWS を用いた環境構築のポイント
by
Makoto Tajima
PDF
学生の行動についての調査から見えてきたこと フォーカスグループインタビュー調査とフォトボイス調査より
by
naho tani
PDF
ディレクター・ノンプログラマー目線のMovable Typeでのサイト運営・保守
by
Yasufumi Nishiyama
PDF
WordPress JSON REST API 〜さらばPHP、さらばWordPressテーマ
by
Kazue Igarashi
PDF
ディレクター・ノンプログラマー目線のMovable Type
by
Yasufumi Nishiyama
PPTX
スタートアップのレガシーシステムをAws活用で改善している話
by
Tomoyuki Sugita
PDF
[仙台]CMSどうでしょう_LT(AMIMOTO HHVMの紹介)
by
Hiromichi Koga
PDF
大規模サイト運用における MTの具体的な活用方法
by
Kouji Matsumoto
PDF
Amazonec2ではじめるMovable Type
by
Hajime Fujimoto
PDF
WordPress開発の最新事情
by
Takayuki Miyauchi
PDF
Media Assembly Kit
by
Hiromichi Koga
安全なPHPアプリケーションの作り方2016
by
Hiroshi Tokumaru
Movable typeでモバイルギャラリーサイト
by
regret raym
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
by
Ryutaro YOSHIBA
初めての Data API CMS どうでしょう - 仙台編 -
by
Yuji Takayama
Webディレクターとして word pressを提案するときに考えること + 運用
by
Junzo Matunoo
Movable Type for AWS を用いた環境構築のポイント
by
Makoto Tajima
学生の行動についての調査から見えてきたこと フォーカスグループインタビュー調査とフォトボイス調査より
by
naho tani
ディレクター・ノンプログラマー目線のMovable Typeでのサイト運営・保守
by
Yasufumi Nishiyama
WordPress JSON REST API 〜さらばPHP、さらばWordPressテーマ
by
Kazue Igarashi
ディレクター・ノンプログラマー目線のMovable Type
by
Yasufumi Nishiyama
スタートアップのレガシーシステムをAws活用で改善している話
by
Tomoyuki Sugita
[仙台]CMSどうでしょう_LT(AMIMOTO HHVMの紹介)
by
Hiromichi Koga
大規模サイト運用における MTの具体的な活用方法
by
Kouji Matsumoto
Amazonec2ではじめるMovable Type
by
Hajime Fujimoto
WordPress開発の最新事情
by
Takayuki Miyauchi
Media Assembly Kit
by
Hiromichi Koga
Recently uploaded
PDF
2025/12/12 AutoDevNinjaピッチ資料 - 大人な男のAuto Dev環境
by
Masahiro Takechi
PDF
krsk_aws_re-growth_aws_devops_agent_20251211
by
uedayuki
PDF
ソフトウェアエンジニアがクルマのコアを創る!? モビリティの価値を最大化するソフトウェア開発の最前線【DENSO Tech Night 第一夜】
by
dots.
PDF
ソフトとハードの二刀流で実現する先進安全・自動運転のアルゴリズム開発【DENSO Tech Night 第二夜】 ー高精度な画像解析 / AI推論モデル ...
by
dots.
PPTX
君をむしばむこの力で_最終発表-1-Monthon2025最終発表用資料-.pptx
by
rintakano624
PDF
音楽アーティスト探索体験に特化した音楽ディスカバリーWebサービス「DigLoop」|Created byヨハク技研
by
yohakugiken
2025/12/12 AutoDevNinjaピッチ資料 - 大人な男のAuto Dev環境
by
Masahiro Takechi
krsk_aws_re-growth_aws_devops_agent_20251211
by
uedayuki
ソフトウェアエンジニアがクルマのコアを創る!? モビリティの価値を最大化するソフトウェア開発の最前線【DENSO Tech Night 第一夜】
by
dots.
ソフトとハードの二刀流で実現する先進安全・自動運転のアルゴリズム開発【DENSO Tech Night 第二夜】 ー高精度な画像解析 / AI推論モデル ...
by
dots.
君をむしばむこの力で_最終発表-1-Monthon2025最終発表用資料-.pptx
by
rintakano624
音楽アーティスト探索体験に特化した音楽ディスカバリーWebサービス「DigLoop」|Created byヨハク技研
by
yohakugiken
サーバサイドエンジニアから見た MT構築のレガシーなノウハウ (入門編)
1.
サーバサイドエンジニアから見た MT構築のレガシーなノウハウ (入門編) ! @onagatani
2.
自己紹介 • 北海道からきました! • 永谷 理(ながたに おさむ) •
スカイアーク所属Movable Type歴6年目 のインフラ・サーバサイドエンジニア • Perlが大好きでHokkaido.pmや YAPC::Asia、MTの勉強会、最近はAWSの 勉強会にも顔を出しています • 好きなMTプラグインは自分が開発したプ ラグイン 一部公開していますのでGitHubをご覧下 さい@onagatani • 活イカとスープカレーを主食にしています (c) Japan Perl Association YAPC::Asia 2012での発表風景(北の国から風)
4.
PageButeの開発元です MT案件ではかなり使用されていましたよね?
5.
• 北海道帯広市で起業して11年目。 Movable TypeでのCMS構築を主力事業 として他にAWS導入やSalesforce導入 も行っています •
GitHubで公開しているプラグインは商用 利用も無料なので是非ご利用下さい(公 開あまりできていないですが現在までに 100以上のプラグインを開発していま す) • 関連会社Farmnoteの事業ではIVS Launch Padで3位入賞でした。AWS Cloud Roadshow 2014 Sapporoで登 壇などしている会社です IVS 2014 Fall Launch Pad Github (ほとんどMT plugin) 少し会社の宣伝
6.
北海道といえば
7.
スープカレー 自分は最低週に三食は食べます
8.
活イカ 死んだイカはイカじゃない!
9.
本題 ! サーバサイドエンジニアから見た MT構築のレガシーなノウハウ (入門編) ! 現場はイマドキのノウハウを 取り入れられない場合がありますというお話
10.
再構築は重い • 今まではMTでは普通に構築を行うとアー カイブが増えてきた場合にカテゴリや 月別アーカイブが非常に長いページに なるためPageButeなどを利用する場 面が多かった。 • ページ分割を行う事でほとんどPVが無 い昔のアーカイブを再構築する事にな り再構築負荷が半端ない事に。 •
例えばカテゴリアーカイブや古い記事 はリクエストが来てからDataAPIで処 理するようにしましょう。 ※SEO的な観点は考慮していません index_1.html index_2.html …
11.
なんとなくPHPを使っている • 敵勢適所ですが余計な負荷になる事も多く、 他の実装で回避できる場合が多いです • .html拡張子でもPHPを動作するようにし ている。 ※極力避けたい •
php includeのためだけにPHPを使ってい る場合はJSで代替できるか検討する • 再構築をトリガーとしない表示切り替えを 行う場合はJSやDataAPIを検討 • 結局楽をしたくてPHPを入れる人も多い のですがPHPのバージョンアップとかして いるのかなと心配 <?php include( /path/to/ hoge.html ); ?> え?これだけのためにPHPなのー! という事もしばしば
12.
静的htmlのみのサイトにする • やはりMTの強みは静的再構築! 突然のアクセスも問題になる事はないでしょ う • コーポレートサイトの構築では静的html とJSだけでほぼ完結できるでしょう ※今どきトラックバックやコメント機能は ほとんど使わないし(オイ •
動的要素がないのでセキュリティもあんま り気をつけなくて大丈夫 ※MTの脆弱性はXSSを除けばmt-XXX.cgi がほとんどです、詳しくは後述します • DataAPIはとても便利ですがむやみやたら に使用すると過負荷の原因にもなります うちのエンジニアブログですが 静的htmlなのでスループットも数千です
13.
toolsディレクトリの活用 • tools内にはcliツールが沢山入っています ので活用しましょう。例えばrebuild-pages スクリプトを利用して定期的に特定テンプ レートの再構築を行うなんて事も出来ます • MultiBlog機能を極力使わない事で再構築 する対象を減らし、代わりに1時間に一度 などで関連ページを再構築する(他にも色々 方法はありますが) •
記事データを全てJSONで静的出力しjquery 等で必用なデータを使って画面をレンダリ ングすればアーカイブの差構築も不要かも? • テンプレート例) setvarでデータを作成してto_json で定期的に出力する <mt:Var name="entries" to_json="1">
14.
AWSを使う • AzureでもGCEでも良いんですが弊社 では主にAWSを使う事が多いです。 そしてAWSの機能は静的html生成型 CMSにも非常に相性がいいです。 • AWSに用意されたMT
AMIを使えば 全てセットアップ済みのセキュリテイ もバッチリの高速なMTサーバがすぐ に使用できます • 後述しますが、AWSを利用する事でLB や複数台サーバ構成も1時間もかから ずに構築できオンプレ時代から比べる と手間暇がかなり削減できます t2.microならライセンス無料! 仕事で使うならt2.midium以上ないと厳しいかも
15.
セキュリテイに気をつける • CMSとコンテンツ公開サーバを 切り分ける • MTが動いているCMSサーバを 外部から隔絶しコンテンツをS3 等へ配信する事でセキュリテイ をほぼ考えなくてよい構成にな ります •
また、S3でコンテンツ公開を行 うことによって、Webサーバの 冗長化やバックアップもほとん ど考えなくてよくなります Amazon EC2 Movable Type security group Amazon S3 接続元IP制限 コンテンツ公開 ToI企画さんがAWSプラグインを公開しています https://github.com/usualoma/mt-plugin-amazon
16.
管理画面の高速化 • PSGIを利用する! これに尽きます・・・。 CGIより数倍高速されます • 管理画面自体はapache,nginx,mysql等を チューニングしてもほとんど速度に変化 はないのでMT自体を高速化する事が一番 •
FCGIでも良いのですが、さらにPSGIで高 速化! ※PSGIサーバはStarmanやStarletを使い ましょう • サーバ管理できない人はMT AMIを使う 事を推奨します 自分でゼロからPSGIのMTを起動したい場合は 参考にして下さい http://www.skyarc.co.jp/engineerblog/entry/ movabletype_psgi_mysql.html
17.
コンテンツ配信の高速化 • 静的htmlだけで構成されたコンテンツでは サーバの限界性能に達する前に設定値の制 限に引っかかる事があります ※Apacheは最大接続数をチューニングし ましょう。nginxはデフォルトでも結構捌け ます • そのため想定されるPVに耐えうるようにサー バのカーネルチューニングを行います。例 えばファイルディスクリプタやIPTablesの 最大接続数、TCP関連のチューニングする ※AmazonLinuxだとインスタンスサイズに よってチューニングされています •
ちなみにSSLを使うと10倍くらい重くなる 事もあるので注意(SSLアクセラレータ付 きのLBを使う事で回避) CentOSの例) net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_fin_timeout = 10 net.ipv4.tcp_timestamps = 0 kernel.panic_on_oops=1 kernel.panic=10 net.core.somaxconn = 10240 net.ipv4.ip_local_port_range = 10240 65000 net.core.rmem_max=16777216 net.core.wmem_max=16777216 net.ipv4.tcp_rmem=4096 87380 16777216 net.ipv4.tcp_wmem=4096 65536 16777216 net.core.netdev_max_backlog = 30000 net.ipv4.tcp_no_metrics_save=1 net.core.somaxconn = 262144 net.ipv4.tcp_syncookies = 0 net.ipv4.tcp_max_orphans = 262144 net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_max_tw_buckets = 56384 net.nf_conntrack_max = 1000000 fs.file-max = 794573
18.
AWS環境構築 • 新規案件の環境構築では、AWS の基本設定はCloudFormationで 行い、残りのサーバ構築は Ansible/chefなどで行っています • 弊社案件ではELB下にWEBサー バを冗長化し、MT/CMSサーバ、 RDSを配下においた構成が多いで す ※細かいリダイレクトやDataAPI の利用など色々な事を行う事が多 いためS3ではなくEC2を冗長化 する事が現状多いです。。。 AWS CloudFormation Availability
Zone virtual private cloud Amazon EC2
19.
DR対策 • AWSではELBの下にEC2を複数MultiAZ 設置し、1台が落ちても停止しない構 成に • データベースはRDS
MultiAZで • ストレージはGlusterFSなどで冗長化・ 共有を行う 今後は価格次第でEFSが主流になると 思います。EFSはMT界の救世主! • とはいえ、通常のコーポレートサイト であればEC2一台で運用しスナップ ショット・バックアップ・自動復旧設 定をしておけばほとんど問題ないはず Elastic Load Balancing WEB/ CMS WEB/ CMS Availability Zone Availability Zone RDS DB instance RDS DB instance standby (Multi-AZ) データ同期 レプリケー ション 片方のAZやEC2・RDSが落ちても サービス停止しない構成
20.
MTバージョンアップ • 一番怖くてやりたくない作業 • とはいえ、サボるわけにもいかない •
基本的には出力されるコンテンツの中身がバー ジョンアップ前と後で同一であれば良い • やりたくないが全コンテンツをクローリング するか静的htmlに対してdiffを行うのが安全 ※MTのバージョンアップではMTタグの挙動 が多少変化したり、きちんと書いていない場 合に動かなくなる場合がある • もしくはMTのソースコードの差分を見て影 響範囲を把握し対応 • 原始的なので良い方法あれば教えて下さい MT5 MT6 Elastic IP 旧環境 新環境 スナップショットから起動 バージョンアップ環境を試してから EIPを切り替えて無停止でサーバ切 り替えを行う
21.
まとめ • 再構築するファイル数が多くならないように気をつける (MTが敬遠される理由になった) • とはいえ静的再構築しておけばT2インスタンスでも数千 スループットは可能、PHPは適材適所で使う •
クラウドを活用してセキュアでスケーラブルなWebサイ ト運用を行う(どこかで聞いたセリフですね!) • DataAPIを活用する(ユーザ参加型のコンテンツ開発 や、非同期でのコンテツ表示による負荷軽減)
Download