uzullaがブログスマートフォン用の表示で見るuzullaがブログuzullaがブログです。phpやっと暇ができたのでやってみました。ところで、これをやりながらMicrosoftの発表見ていたんですが、マジですごい。bookとかLumiaとか実際にモノを見てみないとなんともいえないけど、プレゼンだけでいえば完全にApple越えたプレゼンだった...。なんていうか、久々に発表で盛り上がった!さておきPHPのサーバー構築をシュッとやるのが個人的には結構面倒*1。理由はいくつかあるけれど「他言語の感覚で」ウェブアプリを複数個、同一のサーバー(というより、バーチャルドメイン)で動かす時、キメラみたいなhtdocsを作るハメになるか魔法みたいなconfを書くハメになる。apacheは複数飼うのは面倒。phpのバージョンを上げたり下げたり共存させたりが面倒(わかりきった事だが)、Apacheだとさらに面倒(apxsめんどい)やっぱりhttpdが欲しい、fastcgiだけではURLのbaseが変わるようなrewriteは設定面倒とにかくすっきり切り分けしたい!!という感じ。他の言語の世界では大体supervisordとかで起動したらhttpdがあがってきて上にnginxをかぶせる感じであり、PHPもそういう風にしたい!!!と思いつつ幾数年。そこで気になっていたのがh2o+php-cgi、h2oなら軽量に、簡単にphpを管理できるのでは...?PHPカンファレンスもおわったし(まだブログ書いて無い)やっと試した。以下はその手順である。)外から見たときはphpをh2oでwrapすることで、php自体がhttpdをもってるような見え方にしたい。ファイルは、基本的に/optの下に全部がはいっている。307ここで、とりあえず起動できるかテスト。以下コマンドでh2oを起こして、ブラウザで開いてphpinfoがでてくればOK。/opt/h2o/h2o.conf問題なければsupervisordでデーモン化。個人的にはスーパーシンプルである。└─2*[{h2o}]まとめアプリの数だけh2o.confとsupervisordの設定を書けば、複数のPHPアプリのサーバー*2を他の言語っぽく管理できそうphpが/opt/phpに全部固まっているので見通し安いし、差し替えやすい*3。php-buildとかの相性良いと思う。タレ化(自動化w)しやすいH2Oをつかうと、php-fpmをつかわないでもphpプロセスが管理できるので、実質h2oだけ相手すればいいsupervisordでh2oを起動しているので、initやupstartやsystemdの混乱に入らずに済む実運用では、さらにこの上にnginxをかぶせる感じを想定している。「h2oで配信すればHTTP/2でいいじゃん?持ち腐れでは?」というのはそうなのだが、実運用ではやはりもうちょっと各部に柔軟性がほしい*4課題と展望ログをどうやって管理すっかなー...?環境変数とかでPHPバイナリやコンフィグをシュッっと切り換えたりしてみたい。phpを単なるプロセスとしてあつかいたい。本番ではこの構成で運用してみてない、今度やってみる予定。今気付いているのが、h2oのfastcgi.spawnはbacklogが少ない(?)ので、PHP_FCGI_CHILDREN(PHPプロセスの数)を少なくすると、100とか200とか同時接続を増やしたときに、ぼちぼちエラーがでる。雑にPHP_FCGI_CHILDRENをふやしたら解決したが、どこのところをいじったら待ち行列が伸ばせるのか?(とはいえ、私がやるようなメールフォーム案件とかで同時接続数100とか滅多に無いし、並べればいいので問題にはならない)こちらからは以上です、ご意見お待ちしております。OSX10.9に入れるPHPStorm大好きなuzullaですこんばんわ。»プロフィールid:uzullauzullaがブログです。参加してきました!月別アーカイブ参加グループWindows開発者はてなブログをはじめよう!uzullaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。