しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

Windows Azure 仮想マシンで Redis をビルドして動かす

以前にも書いた気がしますが、手順がちょっと異なっていてはまったのでメモ代わりに書きます。

GCC のインストール

Windows Azure 環境の CentOS は gcc が入ってないので、まずは yum を使って gcc をインストールしたいのですが、そのままだと kernel-headers が見つからないとエラーになるので予め入れてやります。

sudo yum --disableexcludes=main install kernel-headers-2.6.32-279.14.1.el6.openlogic.x86_64
sudo yum install gcc

gcc はこれでインストールが完了します。

Redis のインストール

現在の最新版は 2.6.9 なので、それをダウンロードしてビルドします。

wget http://redis.googlecode.com/files/redis-2.6.9.tar.gz
tar xzf redis-2.6.9.tar.gz
cd redis-2.6.9
make
sudo make install

make install が終わったらサーバとして動かすための設定を行います。

これは utils ディレクトリに install_server.sh というシェルスクリプトが用意されているので簡単なんですが、このままだとパスが通っていないのでエラーになってしまうので、スクリプトの先頭を少しだけ修正します。

PATH=$PATH:/usr/local/bin

パスを追加するだけのコードです。この修正が終わったら保存して install_server.sh を実行します。

cd utils
sudo ./install_server.sh

ポート番号とかいろいろ聞かれますが、デフォルトのままでとりあえず問題ないです。

これでインストールが終わったように見えますが、何故かこのままだと Redis サーバが起動しません。先程のスクリプトで作成された /etc/init.d/redis_6379 というファイルを開くと以下のようになっていました。

#/bin/sh\n #Configurations injected by install_server below....\n\n EXEC=/usr/local/bin/redis-server\n CLIEXEC=/usr/local/bin/redis-cli\n PIDFILE=/var/run/redis_6379.pid\n CONF="/etc/redis/6379.conf"\n\n REDISPORT="6379"\n\n ###############\n\n

何故か改行コードがそのまま出力されているので、改行に置き換えてあげます。

#/bin/sh
#Configurations injected by install_server below....

EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_6379.pid
CONF="/etc/redis/6379.conf"

REDISPORT="6379"

###############

これで上書きして、以下のコマンドを実行すれば Redis サーバが起動します。

sudo /etc/init.d/redis_6379 start

Redis が動いているか確認

実際に Redis が動いているか確認するために、コマンドラインクライアントである redis-cli かベンチマークアプリである redis-benchmark を実行しておきます。

./redis-cli
./redis-benchmark -q -n 10000

特にエラーが表示されることがなく、正しく Redis サーバに接続が出来ていればインストール完了です。

ちなみに外部に Redis として公開する場合には、エンドポイントの設定を Azure の管理画面から行ってポートを開ける必要があります。