Webサーバーをホスティングサービスなどで借りる場合、はじめから高価なプランで始めるこ事は勇気がいる。それほどのスペックを必要とするほどアクセスが来る保証はどこにもない。かといって安いプランで始めた場合、アクセスが最大瞬間風速的な高まりを見せたときに、エラーを返してしまうと、ユーザーに安いサイトだという印象を与えてしまい、アクセスの伸びは期待できなくなってしまう。所持金が無限大ではないという前提で、最適な戦略は、やはり安いサーバーで最大のパフォーマンスを出すように準備することだろう。
今まで作業してきた、VirtualBoxで作るCentOS+nginxの検証環境Webサーバは、nginxを使用したり、PHPでfast-CGIやxcacheを導入したりと、低スペックサーバーでも収益が上がり始めるまでは戦えるサーバーとするための施策を施したつもりだ。
その中でも、PHPアクセラレーター(一方通行さんではない)であるところのxcacheが本当に効果を上げているのかどうか、目に見えづらいところをわかりやすくしてみようじゃないか。そもそもxcacheは何をしているのだろうか。PHPはインタプリタ言語である。インタープリター言語と言ってもいい。インタープリタ言語と言っても過言ではないだろう。そのため事前にコンパイルを必要とせず、ソースコードをその都度中間コードに直して実行していく。xcacheは、この中間コードをキャッシュしてシステム負荷を軽くしてくれるのだ。
一度仕掛けてしまえば、xcacheの存在を意識することはあまりない。それ故、どれだけキャッシュがヒットしているのかなど、確認したくなるのが人情というもの。それを可能にする仕組みがちゃんとxcacheには用意されていた。xcache-adminさんがそれである。PHPで記述されたxcacheの管理画面を提供してくれる。早速インストールしてみようじゃないか。remiリポジトリからインストールする。
# yum --enablerepo=remi install xcache-admin
~省略~
Complete!
これでインストールは完了。CentOSでのインストールはお手軽だ。パッケージマネージャー様様である。続いて、xcache-adminのログインパスワードを設定する。md5で暗号化してやる必要があるので、暗号化されたパスワードを生成してみる。
# php -r 'print md5("unko");'
374d5502ef19c061204c2651c7f19f9b
文字列”unko”で生成される暗号化後の文字列は”374d5502ef19c061204c2651c7f19f9b”となる。これをxcache.iniに書き込む。
# vi /etc/php.d/xcache.ini
~省略~
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "mOo"
; set xcache.admin.pass = md5($your_password)
; login use $your_password
xcache.admin.pass = "4be7b3d365b3760911607f6722a775dd"
~省略~
これでよい。この状態で、/usr/share/xcache をWebサーバーで公開するか、公開ディレクトリへ移動するかすればいい。今回はめんどくさいので/var/www/htmlへコピーしてみる。
# cd /usr/share
# tar -cvf /var/www/html/xcache.tar ./xcache
~省略~
# cd /var/www/html/
# tar -xvf /var/www/html/xcache.tar
~省略~
# chown -R nginx.nginx ./xcache
これで、ブラウザから覗いてみれば、簡易認証をもとめられるが、デフォルトのユーザー”mOo”とパスワード”unko”でログインできる。
これで、何をキャッシュしたか、どれだけヒットしたか等々分かりやすく視覚的に確認することができる。見えなくてもxcacheはちゃんと働いてくれていると確認できた。めでたしめでたし。これだけやったなら、低スペックのVPSでも1000pv/日くらいは耐えてくれるだろう。そう祈るばかりだ。それでも耐えられなくなったら、きっとサイトから何かしらの形で収益が得られるはずなので、上位のプランに乗り換えていけるだろう。などと考えていたら、先日、突如としてgoogleさんに私が運営しているWebサイトの一つに広告配信停止処分が下された。コンテンツの内容が成人向けだという一方的判断に基づきポリシー違反だと言ってきたのだ。日本人の感覚からすると、何でもないものが、アメリカンな感性のgoogleから見るとポリシー違反だと目くじらを立てて制裁を加える対象になるそうだ。このような形で零細Webサイトにまでgoogleによる検閲と言論統制の手が入る時代になってきた。世界中でアメリカの価値観を共有にせよと巨人googleは言う。世界をフラット化してしまいたいらしい。どこの町に行ってもチェーン店しかない、そんな世界がgoogleの目指すところなのだろう。”Don’t be Evil”が昔のgoogleの社是だったらしい。今はまったく”Google is Evil”であると誰もが認めるところである。Webが自由だったのはもう過去の話だ。
アクセスが上がってこれからだという時に、出鼻をくじかれた形だ。googleに広告を止められて空白になった広告スペースをさらしていると、他の検索サイトからのアクセスも激減する。このような事態が比較的頻繁に起こる現状においては、より良いサーバーを借りる収益を得るために自分のWebサイトに広告を張るというのは、リスクが大きすぎるのかもしれない。逆に私も実際使用したことがあるが、googleアドワーズで広告を出しても、効果はあまり無いというのが実際のWeb広告における現状である。Web広告で利益を得ているのは結局のところ広告の出稿者でも、広告の掲載者でもなく、広告の仲介者たるgoogleだけだ。Webから収益を得ることのむずかしさというテーマはまた他の記事に書こうと思う。