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
Junichi Ishida
PDF, PPTX
5,047 views
H2O and php
H2Oとphp連携の話のLTです PEPABO tech conference - YAPC::ASIA PEPABO 2015 -
Software
◦
Read more
3
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 24
2
/ 24
3
/ 24
4
/ 24
5
/ 24
6
/ 24
7
/ 24
8
/ 24
9
/ 24
10
/ 24
11
/ 24
12
/ 24
13
/ 24
14
/ 24
15
/ 24
16
/ 24
17
/ 24
18
/ 24
19
/ 24
20
/ 24
21
/ 24
22
/ 24
23
/ 24
24
/ 24
More Related Content
PDF
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
by
Junichi Ishida
PDF
PHPカンファレンス2014の懇親会飛び込みLT資料
by
Junichi Ishida
PDF
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
by
shinjiigarashi
PDF
Real World PHP in pixiv
by
Kenta USAMI
PDF
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
by
Kazuhiro Hara
PDF
ECMAScript没proposal追悼式
by
京大 マイコンクラブ
PDF
Phpstormちょっといい話
by
Hisateru Tanaka
PDF
PHPerに覚えて欲しい日本語の重要性
by
Rina Fukuda
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
by
Junichi Ishida
PHPカンファレンス2014の懇親会飛び込みLT資料
by
Junichi Ishida
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
by
shinjiigarashi
Real World PHP in pixiv
by
Kenta USAMI
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
by
Kazuhiro Hara
ECMAScript没proposal追悼式
by
京大 マイコンクラブ
Phpstormちょっといい話
by
Hisateru Tanaka
PHPerに覚えて欲しい日本語の重要性
by
Rina Fukuda
What's hot
PDF
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
by
sasezaki
PDF
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
by
sasezaki
PDF
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
by
Hisateru Tanaka
PDF
PHP でファイルシステムを作ろう
by
shinjiigarashi
PDF
php開発で使うタスクランナー gulp
by
Yuuki Takezawa
PDF
Laravel_オープンソースカンファレンスhokkaido_JP_2014
by
Yuuki Takezawa
PDF
LaravelとMVCの先へ
by
Yuuki Takezawa
PDF
Laravel / Lumen 次の一歩
by
Yuuki Takezawa
PDF
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
by
shoma h
PDF
PyPy 紹介
by
shoma h
PDF
PHPでセキュリティを真面目に考える
by
Takuya Sato
PDF
8時間耐久 PHP構築の教室
by
Yusuke Ando
PDF
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
by
Tomoki Hasegawa
PDF
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
by
Hisateru Tanaka
PDF
魔法少女 Laravel
by
Kenichi Mukai
PDF
PHPデプロイツールの世界
by
Yuuki Takezawa
KEY
最強のPHP統合開発環境 PHPStorm
by
晃 遠山
PDF
フレームワークを使うべき 3 つの理由
by
Kenichi Mukai
PDF
HTTPメッセージ、PHPの 事情ば分かっとっと?
by
sasezaki
PDF
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
by
Yahoo!デベロッパーネットワーク
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
by
sasezaki
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
by
sasezaki
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
by
Hisateru Tanaka
PHP でファイルシステムを作ろう
by
shinjiigarashi
php開発で使うタスクランナー gulp
by
Yuuki Takezawa
Laravel_オープンソースカンファレンスhokkaido_JP_2014
by
Yuuki Takezawa
LaravelとMVCの先へ
by
Yuuki Takezawa
Laravel / Lumen 次の一歩
by
Yuuki Takezawa
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
by
shoma h
PyPy 紹介
by
shoma h
PHPでセキュリティを真面目に考える
by
Takuya Sato
8時間耐久 PHP構築の教室
by
Yusuke Ando
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
by
Tomoki Hasegawa
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
by
Hisateru Tanaka
魔法少女 Laravel
by
Kenichi Mukai
PHPデプロイツールの世界
by
Yuuki Takezawa
最強のPHP統合開発環境 PHPStorm
by
晃 遠山
フレームワークを使うべき 3 つの理由
by
Kenichi Mukai
HTTPメッセージ、PHPの 事情ば分かっとっと?
by
sasezaki
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
by
Yahoo!デベロッパーネットワーク
Viewers also liked
PDF
歴史あるWebサービスに携わって2年半の間に起きた事やった事
by
Masataka Kono
PDF
MogileFS をバックエンドとしたPrivate S3の作り方 【後半】API 編
by
hiboma
PDF
MogileFSをバックエンドとしたPrivate S3の作り方
by
Ryo Kuroda
PDF
Productivity Tips and Tricks For BlackBerry Passport and BlackBerry OS 10.3
by
BlackBerry
PPTX
H2O 3.0
by
池田 直哉
PDF
PHP7検証@IDCFクラウド
by
Kouhei Ohi
PDF
Optimize perl5 code for perfomance freaks
by
karupanerura
PDF
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
by
Naotoshi Seo
PDF
HTTP/2 in nginx(2016/3/11 社内勉強会)
by
Yoko TAMADA
PDF
[Azure Council Experts (ACE) 第17回定例会] Microsoft Azureアップデート情報 (2016/04/15-201...
by
Naoki (Neo) SATO
PPTX
OpenStack マルチノード環境構築
by
HommasSlide
PDF
Advanced technic for OS upgrading in 3 minutes
by
Hiroshi SHIBATA
PDF
RDOで体験! OpenStackの基本機能
by
Etsuji Nakai
PDF
Yapceu 2015 yapc asia tokyo behind the scenes (w/o notes)
by
lestrrat
PDF
On internationalcommunityrelations
by
lestrrat
PDF
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
by
VirtualTech Japan Inc.
PDF
Developing the fastest HTTP/2 server
by
Kazuho Oku
PDF
HTTP/2の課題と将来
by
Kazuho Oku
PDF
CDNによるInternet支配の現状とICNの可能性
by
J-Stream Inc.
PDF
Reorganizing Website Architecture for HTTP/2 and Beyond
by
Kazuho Oku
歴史あるWebサービスに携わって2年半の間に起きた事やった事
by
Masataka Kono
MogileFS をバックエンドとしたPrivate S3の作り方 【後半】API 編
by
hiboma
MogileFSをバックエンドとしたPrivate S3の作り方
by
Ryo Kuroda
Productivity Tips and Tricks For BlackBerry Passport and BlackBerry OS 10.3
by
BlackBerry
H2O 3.0
by
池田 直哉
PHP7検証@IDCFクラウド
by
Kouhei Ohi
Optimize perl5 code for perfomance freaks
by
karupanerura
HTTP/2 でリバプロするだけでグラフツールを 高速化できた話
by
Naotoshi Seo
HTTP/2 in nginx(2016/3/11 社内勉強会)
by
Yoko TAMADA
[Azure Council Experts (ACE) 第17回定例会] Microsoft Azureアップデート情報 (2016/04/15-201...
by
Naoki (Neo) SATO
OpenStack マルチノード環境構築
by
HommasSlide
Advanced technic for OS upgrading in 3 minutes
by
Hiroshi SHIBATA
RDOで体験! OpenStackの基本機能
by
Etsuji Nakai
Yapceu 2015 yapc asia tokyo behind the scenes (w/o notes)
by
lestrrat
On internationalcommunityrelations
by
lestrrat
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
by
VirtualTech Japan Inc.
Developing the fastest HTTP/2 server
by
Kazuho Oku
HTTP/2の課題と将来
by
Kazuho Oku
CDNによるInternet支配の現状とICNの可能性
by
J-Stream Inc.
Reorganizing Website Architecture for HTTP/2 and Beyond
by
Kazuho Oku
H2O and php
1.
H2OとPHPの話
2.
who am i
? UZULLA PHPer Hachioji.pm 「メールフォームを書いて生活」
3.
H2Oについて • the optimized
HTTP/1, HTTP/2 server • https://github.com/h2o/h2o • @kazuho さん作 • YAPC::Asia Tokyo 2015でのHTTP2のトーク • http://yapcasia.org/2015/talk/show/ dead6890-09b7-11e5-998a-67dc7d574c3a
4.
長所 • HTTP2を早速サポートしている • 「デフォルトで」高速に動作する •
日本人が作っている(!) • PHPとの親和性がある気がしないでもない
5.
短所(?) • ググれない • まだ事例が少ない •
GithubのコードとISSUEを読もう • 「そうだ、本人に聞こう」 • 機能の数はちょっと少ない(nginxやApacheに比べて、相手が 悪い)
6.
PHPとの関係は? • 本来特にない! • ファイル拡張子でハンドラ指定できる •
fastCGIが使える • "fastcgi.spawn"
7.
PHPerとしては • 「デフォルトで使いたい」→デフォルトで早い • 「設定は短いほうがいい」→運用アプリ次第 •
「安全なのがいい」→デフォルトで安全(っぽい) • 「.htaccessが使いたい」→!(Apacheだけでしょw)
8.
PHPとの連携設定 • file.custom-handlerを登録 • redirectを指定 •
done!
9.
file.custom-handler • 指定の拡張子で何をするか指定 • PHPの場合はFastCGIにつなぐように
10.
例 fastcgi.connectでtcpで接続 file.custom-handler: extension: .php fastcgi.connect: host:
127.0.0.1 port: 9000 type: tcp
11.
例 fastcgi.connectでUNIXドメインソケットで接続 file.custom-handler: extension: .php fastcgi.connect: port:
/tmp/fcgi.sock type: unix
12.
例 fastcgi.spawnでphpプロセスをh2oで管理 file.custom-handler: extension: .php fastcgi.spawn:
"PHP_FCGI_CHILDREN=10 exec /path/to/php-cgi" • php-fpmではなく、php-cgiな所に注意
13.
fastcgi.connectとspawnの差 • connectは既存のfastcgiデーモンに繋ぎに行く • 今まで同様、php-fpmなどで立てておく •
spawnは「H2Oが」phpを起動、管理しておいて、それを使 う • php-fpm(マネージャ)が別途不要
14.
どちらにすべきか • どっちでもよさそう • spawnはfcgiのconfigを書かなくて良い •
当然、監視点も減る(はず) • (H2Oのエラーログ日付がなくない?)
15.
この時点で • /index.phpとか /form.php?hoge=fuga
みたいなのは動く • / とか、 /user/123 みたいなのはうごかない • "try_files"的指定が必要
16.
try_filesとは? • nginxではそう呼んでる • アクセスされたURLに対応するファイルを順番に探す仕組み •
/ にきたら /index.html が返されるじゃろ?ああいうのです • 「.phpって見えるとダサイよね!」
17.
nginxだと try_files $uri $uri/
/index.php?$args; • 一例です、nginx.confなどに書く • ?の後にイチイチ$argsとつける • これだけだと簡単にみえるが、実際には闇深い(時間ないので 説明は省略)
19.
Apacheだと RewriteEngine On RewriteCond %{REQUEST_FILENAME}
!-f RewriteRule ^ index.php [QSA,L] • 一例です、http.confや.htaccessに書く • 二行目の !-f は、ファイルがなかったら、というCond • Apacheはルール行に「?」以降のargsの記述は不要
20.
H2Oでの設定例 "doraperson2015.yapcasia.org:443": paths: /: file.dir: /var/www/dpe/htdocs redirect: url: /index.php/ internal:
YES status: 307 • ファイルがなかったらindex.phpに内部リダイレクト • .phpは前述のハンドラが登録されているので、fastCGIへ
21.
例 勿論複数書ける、アプリ相乗り時には必須 "doraperson2015.yapcasia.org:443": paths: /auth: file.dir: /var/www/dpe/htdocs/auth redirect: url:
/auth/index.php/ internal: YES status: 307 /: file.dir: /var/www/dpe/app/htdocs redirect: url: /index.php/ internal: YES status: 307
22.
余談:file.custom-handlerを使わない方法 hosts: "example.com:80": paths: "/app": fastcgi.connect: port: /tmp/fcgi.sock type: unix •
こういうのも書けるけど、説明省略
23.
簡単ですね! • try_files的なのを理解してれば • 拡張子で判定するので、コードお漏らししづらい、セキュア •
ただ、phpのアプリがドンドン相乗りすると設定ファイルは のびていくな…htaccessほしい…
24.
まとめ • H2OとPHPは簡単に連携できる、apacheやnginxよりも簡 単! • H2Oをつかうとhttp2がつかえてなんとなくオシャレ、しか もデフォルトで早い(らしい) •
まだ設定のテンプレ(秘伝のたれ)はあまり見ないので、今 頑張ればブクマが稼げる!(?) • やろう!H2O!
Download