Redisが3.2となって、新しいコマンドが追加されていました。 この検証環境を作る目的で、Ubuntu16.04上のVagrantの仮想マシンにRedisをソースからインストールして動かしてみた際の手順を纏めておきます。
Redis公式サイトのダウンロードページからソースアーカイブをダウンロードする。
アーカイブを展開すると次のディレクトリ構成が確認できる。
redis-3.2.3
├── 00-RELEASENOTES
├── BUGS
├── CONTRIBUTING
├── COPYING
├── deps
├── INSTALL
├── Makefile
├── MANIFESTO
├── README.md
├── redis.conf
├── runtest
├── runtest-cluster
├── runtest-sentinel
├── sentinel.conf
├── src
├── tests
└── utils
INSTALL
ファイルを見ると、README.md
を見よ、とあるので、README.md
を読む。
make
make install
で、redis-server
、redis-cli
が/usr/local/bin
にインストールされる。
redis-server
を起動する際に、ソースアーカイブに含まれているユーティリティを使用することを前提とした場合、
つまり、utils/redis_init_script
を使ってredis_server
を起動することを前提とした場合、redis.conf
は、
/etc/redis/Redisサーバの待受ポート番号.conf
というファイル名である必要がある。
したがって、README.md
と同じ階層にあるredis.conf
を/etc/redis/6379.conf
としてコピーしておく。
redis-3.2.3/utils
にredis_init_script
というスクリプトがあり、これを利用することでRedisサーバが起動する。
cd /path/to/redis-3.2.3
sudo ./utils/redis_init_script start
Starting Redis server...
6155:M 24 Aug 02:41:33.100 * Increased maximum number of open files to 10032 (it was originally set to 1024).
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 3.2.3 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 6155
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
6155:M 24 Aug 02:41:33.118 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
6155:M 24 Aug 02:41:33.119 # Server started, Redis version 3.2.3
6155:M 24 Aug 02:41:33.120 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
6155:M 24 Aug 02:41:33.121 * The server is now ready to accept connections on port 6379
起動と同じく、utils/redis_init_script
を利用する。
cd /path/to/redis-3.2.3
sudo ./utils/redis_init_script stop
Stopping ...
6168:M 24 Aug 02:43:46.168 # User requested shutdown...
6168:M 24 Aug 02:43:46.172 * Saving the final RDB snapshot before exiting.
6168:M 24 Aug 02:43:46.179 * DB saved on disk
6168:M 24 Aug 02:43:46.180 * Removing the pid file.
6168:M 24 Aug 02:43:46.181 # Redis is now ready to exit, bye bye...
Waiting for Redis to shutdown ...
Redis stopped
ただし、Redisサーバをフォアグラウンドで起動している場合は、Ctrl-cで停止できる。
通常、Redisをインストールする場合は、パッケージマネージャを介してインストールすることの方が多いと思いますが、 今回はあえてソースからビルド&インストールしてみました。 手順としては、非常に簡単ですね。