以前にも書いた気がしますが、手順がちょっと異なっていてはまったのでメモ代わりに書きます。
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 の管理画面から行ってポートを開ける必要があります。