❶ 在linxu環境下編譯redis報錯
問題:本人用虛擬機安裝centos6.5系統, redis安裝不成功,和樓主的報錯一毛一樣,原因不詳,目前的取得快照是安裝了jdk,mysql,tomcat的版本;
解決方案:將linux系統恢復到最初的版本(就是啥都沒裝的版本),重新安裝redis,安裝成功,我都挺蒙蔽的,不知道啥原因。
附帶我的操作步驟:用戶為root用戶。
1.下載redis 我下載的是redis-2.6.16.tar.gz
2.FTP上傳到linux /root目錄下(可以自定義)
3.執行yum install gcc-c++(下載gcc)
4.解壓tar -zxvf redis-2.6.16.tar.gz到當前文件夾
5.進入cd redis-2.6.16文件夾
6.執行make(編譯前必須安裝gcc)
7.安裝成功
8.安裝測試 make test 如果報錯則執行以下步驟(因為缺少ctl)
8.1 安裝tcl
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
tar xzvf tcl8.6.1-src.tar.gz
cd /usr/local/tcl8.6.1/unix/
./configure
make
make install
8.2 在/root/redis-2.6.16目錄下執行make test(需要執行一段時間) 提示:
All tests passed without errors!
Cleanup: may take some time... OK
make[1]: Leaving directory `/root/redis-2.6.16/src'
證明你安裝成功redis了
❷ 怎麼在linux系統上裝redis服務
一:redis的安裝與初始配置:
Redis下載wgethttp://download.redis.io/releases/redis-
3.2.6.tar.gztarxzfredis-3.2.6.tar.gz
3.cdredis-3.2.6
4.makeMALLOC=libc
5.cdredis-3.2.6/src
6.makeinstall
mv/usr/local/redis-3.2.6/redis.conf/etc
mv/usr/local/redis-3.2.6/src/mkreleasdhdr.shredis-benchmarkredis-check-aofredis-check-mpredis-cliredis-server/usr/bin
配置後台啟動redis服務
a)首先編輯/etc/redis.conf文件,將daemonize屬性改為yes(表明需要在後台運行)
b)再次啟動redis服務,並指定啟動服務配置文件
/usr/bin/redis-server/etc/redis.conf
Yum安裝redis:
首先為yum添加epel源:yuminstallepel-release回車
再次:yuminstallredis回車
❸ 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:橫向擴容支持更大數據量
❹ 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
❺ linux 怎樣安裝redis
獲取Redis
1、通過官網http://redis.io/獲取穩定版源碼包下載地址;
2、通過wget http://download.redis.io/releases/redis-3.0.2.tar.gz下載 源碼包;
2
編譯安裝Redis
1、解壓源碼安裝包,通過tar -xvf redis-3.0.2.tar.gz解壓源碼,速度相當快;
2、進入解壓後的目錄,執行make編譯源碼;
make命令執行完成後,會在src目錄下生成6個可執行文件,分別是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-mp、redis-sentinel。
3、執行make install安裝,或者通過make PREFIX=/usr/local/redis install指定安裝目錄。這里默認安裝,默認將之前生成的可執行文件拷貝到/usr/local/bin目錄下;
END
配置運行
修改配置文件
1、將源碼目錄下redis配置文件redis.conf拷貝到/etc/redis目錄下。
2、修改配置項,根據需要;如果不修改,使用默認配置也可以;
啟動服務:
查看埠是否被佔用:netstat
–ntlp
|grep 6379
方式一:通過命令redis-server 啟動,可在命令後加上`&`號使redis以後台程序方式運行;
方式二:通過指定配置文件啟動;redis-server /etc/redis/redis.conf
默認安裝的路徑已經加入環境變數中,可直接在命令行執行命令;
命令客戶端檢測鏈接
1、連接之前可以先檢測服務是否啟動;
2、測試啟動 redis-cli ping 返回PONG,啟動成功。
停止Redis:
關閉服務
redis-cli shutdown
如果非默認埠,可指定埠:
redis-cli -p 6380 shutdown
簡單操作:
1、兩種連接方式:
1:window DOS方式:tentel主機IP埠號(默認為127.0.0.1:6379)
2:linux客戶端方式:redis-cli 主機IP 埠號(默認為127.0.0.1 6379)
2、命令行操作:
#redis-cli
redis 127.0.0.1:6379> set name clj
OK
redis 127.0.0.1:6379> get name
"clj"