SPDYとはGoogleが策定を進めている通信プロトコルらしく
HTTPよりはやいお!!ってことらしい。
gmail、googlecalenderとか、Twitterとかが実装しているらしい太郎。
なんかみたところ、通常のHTTPの50%近くの高速化を目標としているらしい。
今後の主流となること間違いないという予想太郎。
ただ、Firefox11系と、Choromeの最新版?でしか対応してないので
大規模サービスの画像配信とかで使うにはちょっと難しいのかな・・・
まあ、apacheのモジュール公開されてたんで構築してみた。
環境は、Ubuntu 11.04
#まずは事前準備
apt-get install subversion curl g++ apache2 patch binutils julius make
#任意のディレクトリで
mkdir mod_spdy
mkdir temp
cd temp
#depot_tools持ってくる
svn co http://src.chromium.org/svn/trunk/tools/depot_tools
#PATH通す
export PATH="$PATH":`pwd`/depot_tools
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/yattarou/temp/depot_tools
#SPDYのコード落としてくる ちなみにrootで実行してる
gclient config "http://mod-spdy.googlecode.com/svn/trunk/src"
Running depot tools as root is sad.
#失敗したw
#gclientソース見てみる
#base_dirんとこでうまくいってないっぽいので、パワープレイ。
#パス直書きにしてやったw
vim /home/yattarou/temp/depot_tools/gclient
#!/usr/bin/env bash
# Copyright (c) 2009 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
base_dir=$(dirname "$0")
"$base_dir"/update_depot_tools
PYTHONDONTWRITEBYTECODE=1 exec python "$base_dir/gclient.py" "$@"
#もっかいチャレンジ
/home/yattarou/temp/depot_tools/gclient config "http://mod-spdy.googlecode.com/svn/trunk/src"
Running depot tools as root is sad.
#失敗した
#update_depot_toolsのコードみる
#rootの権限チェック、コメントアウトした。
vim /home/yattarou/temp/depot_tools/update_depot_tools
#!/usr/bin/env bash
# Copyright (c) 2011 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This script will try to sync the bootstrap directories and then defer control.
if [ "$USER" == "root" ];
then
echo Running depot tools as root is sad.
exit
fi
#もっかいやってみる
/home/yattarou/temp/depot_tools/gclient config "http://mod-spdy.googlecode.com/svn/trunk/src"
#いけたぽいので
/home/udagawa/temp/depot_tools/gclient sync --force
1>________ running 'svn checkout http://mod-spdy.googlecode.com/svn/trunk/src /home/udagawa/mod_spdy/src --non-interactive --force --ignore-externals' in '/home/yattarou/mod_spdy'
・・・・
いっぱいおとしてくる。
26>Checked out revision 933.
Syncing projects: 96% (26/27), done.ols/gyp
________ running '/usr/bin/python src/build/gyp_chromium' in '/home/yattarou/mod_spdy'
Updating projects from gyp files...
#落としてきたら
cd src/
./build_modssl_with_npn.sh
#.soをコピー
cp -rp mod_ssl.so /usr/lib/apache2/modules/
a2enmod ssl
#おれおれ証明書作成
apt-get install ssl-cert
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /tmp/selfsigned.crt
mkdir /etc/apache2/ssl
mv /tmp/selfsigned.crt /etc/apache2/ssl/
#証明書の設定編集
vim /etc/apache2/sites-available/default-ssl
SSLCertificateFile /etc/apache2/ssl/selfsigned.crt
#コメントアウト
#SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
a2ensite default-ssl
#apache再起動
/etc/init.d/apache2 restart
#SPDYのBUILD
make BUILDTYPE=Release
・・・・
#いっぱいでる
cp out/Release/libmod_spdy.so /usr/lib/apache2/modules/mod_spdy.so
echo "LoadModule spdy_module /usr/lib/apache2/modules/mod_spdy.so" | tee /etc/apache2/mods-available/spdy.load
echo "SpdyEnabled on" | tee /etc/apache2/mods-available/spdy.conf
a2enmod spdy
Enabling module spdy.
Run '/etc/init.d/apache2 restart' to activate new configuration!
#apache再起動
/etc/init.d/apache2 restart
#これでおk
#下のでいろいろ見れる
chrome://net-internals/#spdy
#あと、SPDY用のベンチマークツール
#windowsで確認するとき、chrome.exe --enable-benchmarkingしないと起動しないので注意
http://dev.chromium.org/developers/design-documents/extensions/how-the-extension-system-works/chrome-benchmarking-extension
すこし、確認したところ、まあまま早い感じがする。
検証結果は、あとでちゃんと載せます。
1 件のコメント:
SPDYの詳細までは詳しく見てないけどリクエスト数の多い、サーバー間のAPIをRESTで使っているとこの置き換えとかありな気がする。
コメントを投稿