安裝Redis在Linux環境中
這里我們用的是manjaro一個小眾一些的發行版
我選用的是manjaro 17?KDE
?
如果你已經安裝好了manjaro 那么你需要準備一個redis.tar.gz包
這里我選用的是截至目前最新的redis 4.0.1版本
我們可以在官網進行下載?https://redis.io/download選擇Stable (穩定版)下載
這里我安裝在/usr/local 目錄下
我們創建redis-cluster目錄
cd /usr/local/
sudo mkdir redis-cluster
?
cd redis-cluster
mkdir redis01...redis06
#在集群目錄下創建6個文件夾 redis01到redis06用來存放編譯后的redis目錄
#現在我們將剛才下載好的redis安裝包解壓并進行編譯
tar zxvf redis-4.0.1.tar.gz
cd redis-4.0.1
#redis根目錄進行編譯,之后在對redis4 src目錄進行編譯
make
cd src
make install DESTDIR = path #設置編譯安裝路徑 這里我安裝的是/usr/local/redis-cluster/redis01
cp redis01 -> redis02...redis06 #將安裝好的redis01 分別復制到redis02..redis06中
redis01..redis-06 redis.conf ?#在這里我們需要修改redis.conf中的三個參數 默認是沒有Vim編輯器的
?#我們可以使用nano編輯器或者命令行安裝Vim編輯器
?#sudo pacman -S clang Vim
daemonize yes ?#將redis設置為守護進程
port xxxx #設置不重復的redis端口 我是redis7001-7006
cluster-enabled yes ?#啟用集群模式
ps aux|grep redis ? ?#查看是否有redis進程
#進入解壓后的redis目錄執行創建redis命令 這里將redis ip和端口設置成自己的ip和端口 我這里是單機多實例
src/redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006
?
執行命令會出現如下錯誤:
1.錯誤內容:/usr/bin/env: ruby: No such file or directory
pacman -S install ruby #因為是執行的ruby的腳本,安裝ruby環境
?
?
2.錯誤內容:
./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)
from ./redis-trib.rb:24
pacman -S install rubygems #需要執行此命令因為缺少rubygems組件
?
?
3.錯誤內容:
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from ./redis-trib.rb:25
gem install redis #執行此命令,因為缺少redis和ruby的接口
?
#如果gem install redis 失敗的話,需要修改一下gem的源
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
?
#安裝后在執行?redis-trib.rb create 命令就會安裝成功了
#創建一個py結尾的文件 現在系統都會自帶python所以不需要進行安裝
#我們啟動redis 這里我寫了一個簡陋的Python腳本用來啟動集群 如下:
import os
os.system('cd /usr/local/redis-cluster/redis01 && sudo ./redis-server /usr/local/redis-cluster/redis01/redis.conf')
os.system('cd /usr/local/redis-cluster/redis02 && sudo ./redis-server /usr/local/redis-cluster/redis02/redis.conf')
os.system('cd /usr/local/redis-cluster/redis03 && sudo ./redis-server /usr/local/redis-cluster/redis03/redis.conf')
os.system('cd /usr/local/redis-cluster/redis04 && sudo ./redis-server /usr/local/redis-cluster/redis04/redis.conf')
os.system('cd /usr/local/redis-cluster/redis05 && sudo ./redis-server /usr/local/redis-cluster/redis05/redis.conf')
os.system('cd /usr/local/redis-cluster/redis06 && sudo ./redis-server /usr/local/redis-cluster/redis06/redis.conf')
?
這里大家可以使用shell或者python任意語言實現更好的啟動 關閉等方式
ps aux|grep redis ? ?#查看是否有redis進程
這樣就顯示我們創建成功了.
?
如果有寫的不對的請指正或者有更好更簡潔的實現方式歡迎大家分享.
?