1. linux安裝Redis服務
環境:centos7.9
版本:redis-6.2.6
查看gcc版本
沒有安裝的話,安裝命令如下
安裝包版本redis-6.2.6
將安裝包上傳到/opt/software目錄下
從redis的源碼目錄中復制redis.conf到redis的安裝目錄的bin目錄下
加密碼
搜索requirepass關鍵字,將#requirepass foobared 注釋去掉,foobared修改為密碼即可
把 daemonize no 改為 daemonize yes
將redis-cli拷貝到/usr/local/bin/下,讓redis-cli指令可以在任意目錄下直接使用
啟動命令
進入redis,進行簡單的測試
進入到/usr/lib/systemd/system/目錄
創建redis.service文件,內容如下
加入開機自啟動
一些命令
安裝配置還是比較簡單,常規夠用,需要擴展,可以後期再進行配置
2. Linux下安裝配置redis詳細教程,並配置哨兵模式
redis版本為redis-3.2.12,使用工具將安裝包上傳到data目錄。
在data目錄下創建文件夾redis,將redis安裝在此目錄。
第一步:解壓。
第二步:安裝,PREFIX=/data/redis用來設置安裝目錄。
到此,redis已經安裝完成,剩下就是配置和啟動服務。
進入redis目錄, 創建配置文件conf、日誌logs、資料庫mp、進程號pid四個目錄,用來存放對應的文件,這四個目錄也可以存放在其他文件夾,只要與配置文件中的配置一致即可,否則在啟動服務時會報錯。 其中bin目錄就是redis安裝成功後的一些命令文件。
redis服務配置一主二從,哨兵模式。注意:如果在實際開發中用不到哨兵模式,redis服務配置一主一從即可。
主Redis配置:redis_6379.conf
從Redis配置,redis_6380.conf和redis_6381.conf,與主Redis配置基本上一樣,不一樣的地方在於 埠、資料庫、日誌、pid文件名稱 ,都以6380或6381為標志, 最重要的地方是建立主從關系和同步驗證。
注意: 對只使用redis服務 ,只需要在主Redis裡面配置requirepass,在從Redis裡面配置masterauth,密碼保持一致,密碼盡可能復雜,以免被攻擊破解。
注意: 對只使用redis服務 ,如果從Redis也有必要加入訪問驗證,也可以設置requirepass,而且密碼可以與主Redis密碼不同。
將配置文件放置到/data/redis/conf目錄下,然後就可以啟動服務了。
啟動服務要按照主從順序依次啟動。
查看服務啟動情況:
也可以通過查看日誌文件來確認服務是否正常啟動。
通過客戶端登錄Redis驗證數據同步情況:
主Redis登錄驗證,設置數據:
從Redis登錄,獲取數據:從Redis並沒有設置密碼,所以無需驗證就可以操作。
配置哨兵模式:
Redis Sentinel集群通常由3到5個節點組成,如果個別節點掛了,集群還可以正常運作。Sentinel負責監控Redis集群的 健康 情況。
如果主Redis掛掉,Sentinel集群會通過投票選擇一個新的主Redis。 當原來的主Redis恢復時,它會被當做新的主Redis的從Redis重新加入Redis集群。
設置連接master和slave的密碼,需要注意的是sentinel不能分別為master和slave設置不同的密碼,因此master和slave的密碼必須設置相同。也就是說主Redis和從Redis都必須設置requirepass和masterauth,而且密碼必須相同。
sentinel.conf配置信息:
將該配置文件放置到/data/redis/conf目錄下,啟動sentinel服務:
驗證sentinel是否起作用,可以手工shutdown掉主Redis。
這時從Redis想要訪問主Redis同步數據就會提示錯誤信息:
sentinel在監測到主Redis宕機之後,通過選舉,將一個從Redis選定為新的主Redis。通過查看sentinel日誌可以發現,選定6380為新的主Redis,同時將另外兩個Redis作為從Redis。
注意:選定6380為主Redis後,所有的配置文件都會被修改,主要是重新建立主從關系。
6379會新增:slaveof 127.0.0.1 6380
6380會刪掉:slaveof 127.0.0.1 6379
6381會修改:slaveof 127.0.0.1 6380
由於6379服務已經關掉,所以雖然sentinel將6379作為6380的從服務,但是沒有真正的建立。
重新啟動6379服務,這時sentinel會重建建立一次主從關系:
3. linux下怎麼進入redis操作
獲取redis
通過官網http://redis.io/獲取穩定版源碼包下載地址;
通過wget http://download.redis.io/releases/redis-3.0.2.tar.gz下載 源碼包;
2.編譯安裝Redis
解壓源碼安裝包,通過tar -xvf redis-3.0.2.tar.gz解壓源碼,速度相當快;
進入解壓後的目錄,執行make編譯源碼;
3.make命令執行完成後,會在src目錄下生成6個可執行文件,分別是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-mp、redis-sentinel。
4.執行make install安裝,或者通過make PREFIX=/usr/local/redis install指定安裝目錄。這里默認安裝,默認將之前生成的可執行文件拷貝到/usr/local/bin目錄下
5.配置運行
6.修改配置文件
將源碼目錄下redis配置文件redis.conf拷貝到/etc/redis目錄下。
修改配置項,根據需要;如果不修改,使用默認配置也可以;
7.啟動服務
查看埠是否被佔用:netstat –ntlp |grep 6379
方式一:通過命令redis-server 啟動,可在命令後加上`&`號使redis以後台程序方式運行;
方式二:通過指定配置文件啟動;redis-server/etc/redis/redis.conf
默認安裝的路徑已經加入環境變數中,可直接在命令行執行命令;
8.命令客戶端檢測鏈接
連接之前可以先檢測服務是否啟動;
測試啟動 redis-cli ping 返回PONG,啟動成功。
4. linux 的環境搭建(二)--redis單機環境、生產環境、集群環境的搭建
一、目錄
1、工具
2、安裝tcl
3、安裝單機版redis
4、把redis設置為daemon進程,每次系統啟動,redis進程一起啟動
5、安裝redis cluster
二、工具
2.1、tcl8.6.1-src.tar.gz
2.2、ruby-2.3.1.tar.gz
2.3、redis-4.1.1.gem
2.4、redis-3.2.8.tar.gz
2.5、openssl-1.0.2r.tar.gz
三、安裝tcl(安裝redis必須先要安裝tcl)
3.1、把tcl8.6.1-src.tar.gz通過WinSCP上傳到虛擬機中的/usr/local目錄下
四、安裝單機版redis
4.1、把redis-3.2.8.tar.gz通過WinSCP上傳到虛擬機中的/usr/local目錄下
4.2、依次運行如下命令:
tar -zxvf redis-3.2.8.tar.gz 解壓文件
cd redis-3.2.8
make && make test && make install
五、把redis設置為daemon進程,每次系統啟動,redis進程一起啟動
5.1、將redis的utils目錄下的redis_init_script腳本拷貝到linux的/etc/init.d目錄中,將redis_init_script重命名為redis_6379,6379是我們希望這個redis實例監聽的埠號
5.2、修改redis_6379腳本的第6行的REDISPORT,設置為相同的埠號(默認就是6379)
protected-mode no 取消保護模式,保護模式只能127.0.0.1訪問
daemonize yes 讓redis以daemon進程運行
pidfile /var/run/redis_6379.pid 設置redis的pid文件位置
bind 192.168.3.110
port 6379 設置redis的監聽埠號
dir /var/redis/6379 設置持久化文件的存儲位置
logfile /var/log/redis/6379.log 設置日誌文件位置
5.6、啟動redis,依次執行:
cd /etc/init.d,
chmod 777 redis_6379,賦讀寫執行的許可權(chmod -R 777 * 是遞歸把該目錄下的所有文件和其子文件全部賦許可權)
./redis_6379 start 啟動
5.7、確認redis進程是否啟動,ps -ef | grep redis
5.8、讓redis跟隨系統啟動自動啟動
5.9、重啟系統,不手動啟動redis,直接連接redis,可以連接上,表示配置成功
此時一個單機版的redis的生產環境已經搭建好了,每次伺服器重啟,redis都會自動的啟動
六、安裝redis cluster
(redis cluster集群,要求至少3個master,去組成一個高可用,健壯的分布式的集群,每個master都建議至少給一個slave,3個master,3個slave)
6.1、前提,我在其它機器上啟動了六個redis(安裝步驟都如下)
2.2、創建三個目錄:
mkdir -p /etc/redis-cluster 存放集群配置信息,自動生成配置
mkdir -p /var/log/redis redis日誌
mkdir -p /var/redis/7001 存放redis的rdb文件和aof文件
6.3、將redis的utils目錄下的redis_init_script腳本拷貝到linux的/etc/init.d目錄中,將redis_init_script重命名為redis_7001,7001是我們希望這個redis實例監聽的埠號,並修改redis_7001配置文件中的REDISPORT=7001
6.4、修改/etc/redis/7001.conf中的部分配置為生產環境
6.5、完成了一個redis環境的配置,依次再配置其餘五個,分別為7002、7003、7004、7005、7006,每個啟動腳本內,都修改對應的埠號
6.6、啟動6個redis實例
6.7、創建集群(需要安裝ruby、rubygems)
上述命令在部分機器上是可以直接運行完成,成功安裝的,但在部分機器上運行第三條命令時會提示ruby版本太低、openssl找不到的問題,下面依次解決這兩個問題:
6.8、再次運行gem install redis命令,報出兩個錯誤
6.9、再次運行gem install redis命令,報出一個錯誤
6.10、再次運行gem install redis命令,報出一個錯誤
6.11、再次運行gem install redis命令
[root@ceshi01 local]# gem install redis
Successfully installed redis-4.1.1
Parsing documentation for redis-4.1.1
Done installing documentation for redis after 1 seconds
WARNING: Unable to pull data from ' https://rubygems.org/' : SSL_connect returned=1 errno=0 state=error: certificate verify failed ( https://api.rubygems.org/specs.4.8.gz )
1 gem installed
運行成功
此時Redis安裝好,此三個工具也安裝好了,這時我們來做一個Redis集群測試,在一台伺服器中創建了6個Redis實例,開啟6個Redis服務
redis-trib.rb create --replicas 1 192.168.3.104:7001 192.168.3.104:7002 192.168.3.105:7003 192.168.3.105:7004 192.168.3.106:7005 192.168.3.106:7006
[root@eshop-cache02 init.d]# redis-trib.rb create --replicas 1 192.168.3.104:7001 192.168.3.104:7002 192.168.3.105:7003 192.168.3.105:7004 192.168.3.106:7005 192.168.3.106:7006
此時一個redis集群環境就已經搭建好了,可以通過redis-trib.rb check 192.168.3.105:7003命令查看集群幾點的信息
[root@eshop-cache02 init.d]# redis-trib.rb check 192.168.3.105:7004
redis cluster的優點:讀寫分離+高可用+多master
讀寫分離:每個master都有一個slave
高可用:master宕機,slave自動被切換過去
多master:橫向擴容支持更大數據量
5. Linux安裝redis
http://redis.io/download 或
wget http://download.redis.io/releases/redis-5.0.0.tar.gz
yum -y install gcc automake autoconf libtool make
注意: 運行yum時出現/var/run/yum.pid已被鎖定,PID為xxxx的另一個程序正在運行的問題解決
rm -f /var/run/yum.pid
tar zxvf redis-5.0.8.tar.gz -C /opt
cd /opt/redis-5.0.8 && make MALLOC=libc
make PREFIX=/usr/local/redis install
cd /usr/local/redis
啟動Redis服務端 ./bin/redis-server
以配置文件啟動Redis服務端 ./bin/redis-server ./redis.conf
啟動Redis客戶端 ./bin/redis-cli
啟動Redis 客戶端命令語法: redis-cli –h IP地址 –p 埠 //默認IP本機 埠6379
檢測是否服務端啟動 redis 127.0.0.1:6379> PING
客戶端退出 shutdown
顯示redis的情況 ps -ef |grep redis
殺死redis進程 kill -9 8169
錯誤 ./bin/redis-cli -h 127.0.0.1 -p 6379 -u wc19981220
報錯: Invalid URI scheme 將-u換成-a即可
正確 ./bin/redis-cli -h 127.0.0.1 -p 6379 -a wc19981220