さくらのレンタルサーバでredisを使う
Oct 15, 2016 · serverphpdb
さくらのレンタルサーバ(スタンダード)にredisをインストールする方法のメモ
Laravelのキューを使うついでに、せっかくなのでredisを使えるようにしてみる。
Laravelをさくらで使うあたりは以前の記事を参照
インストール
ソースを展開
SSHでログインして公式の手順通り以下の様にする
% wget http://download.redis.io/releases/redis-3.2.0.tar.gz
% tar xzf redis-3.2.0.tar.gz
% cd redis-3.2.0
最新版(Ver.3.2.4)では、権限絡みでmakeに失敗する為、少し古いバージョンを使っているのがポイント
インストール先の変更
src/Makefileを開く
(redis-3.2.0直下にもMakefileがあるので間違わないこと)
PREFIX?=という行を以下の様に書き換えて保存する
PREFIX?=/home/アカウント名
make
% gmake
% gmake install
さくらのサーバはBSD系なのでgmakeを使ってインストールを実行。
これで、~/binにredis関連がインストールされる
もし、~/binにパスが通っていなければ通しておくと便利
実行
一旦、SSHをログアウトしてログインしなおしてから
% nohup redis-server < /dev/null >& /dev/null &
として、redisサーバをバックグラウンド起動する
確認のため、
% redis-cli
として、
127.0.0.1:6379>
というようになればOK。失敗している時はnot connected>となる
この時に表示されているサーバのIPとポート番号を覚えておくこと
確認が終了すれば、exitで抜ける(shatdownにするとサーバまで止まるのでNG)
Laravelで使う
パッケージの準備
Laravelでredisを使うにはpredis/predisが必要なので、Composerでインストールしておく
設定
config/database.phpの中のredisを設定する
'redis' => [
'cluster' => false,
'default' => [
'host' => '127.0.0.1', // redis-cliで確認したIP
'port' => 6379, // redis-cliで確認したポート
'database' => 0,
],
],
なお.envを使う場合、databaseの部分はintval(env('REDIS_DATABASE', 0))というように明示的にintにしないとエラーになるので注意
以上で、Laravelからもredisが使える様になる
環境
- Laravel 5.1
- さくらのレンタルサーバ(スタンダード)
- PHP 5.6
- redis 3.2.0
