1. 程式人生 > >Centos7安裝Redis4.0.8

Centos7安裝Redis4.0.8

@class pack .config stat lin 讀取 local target lease

今天安裝了CentOS7 1708 在安裝redis時報錯 make[1]: *** [adlist.o] 錯誤 127

因為Redis是C實現的,需要gcc來進行編譯,所以原因是系統未安裝gcc,按順序執行:
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
因為gcc依賴很多,都執行一下,以防萬一
然後執行安裝redis OK:

一、軟件安裝

1、進入官網下載Redis4.0.8

https://redis.io/download

官網也附有安裝教程。

shell>wget http://download.redis.io/releases/redis-4.0.2.tar.gz

1.1 方式一

去 Redis 官網下載最新穩定版,上傳到 Linux:https://redis.io/download

1.2 方式二

使用 wget 命令獲取

wget http://download.redis.io/releases/redis-4.0.8.tar.gz

技術分享圖片

2、解壓壓縮文件

shell>tar -zxvf redis-4.0.8.tar.gz

技術分享圖片

3、進入redis-4.0.8目錄 使用make命令編譯redis

shell>cd /edis-4.0.8

shell>make

等幾分鐘,過程可能比較慢,正常情況下是不會報錯的,如下圖:

技術分享圖片

4、在redis-4.0.8目錄中 使用makePREFIX=/usr/local/redis/redis-4.0.8 install命令安裝redis到/usr/local/redis/redis-4.0.8中

shell>make PREFIX=/usr/local/redis/redis-4.0.8 install

技術分享圖片

二、修改配置

前臺啟動:./redis-server

後臺啟動:復制redis.conf (在/redis-4.0.8源碼下,就是解壓的那個文件夾)到redis的安裝目錄(就是你那個bin裏),修改redis.conf中的 daemonize yes ,執行下邊的命令就啟動了,下一條是關閉命令

shell>cd /usr/local/webtools/redis-4.0.8

shell>cp redis.conf /usr/local/redis/redis-4.0.8/bin/

shell>cd /usr/local/redis/redis-4.0.8/bin/

技術分享圖片

shell>用vi工具打開redis-4.0.8目錄下的redis.conf配置文件:

vi redis.config

1、.設置redis可以一直在後臺運行,以守護進程方式運行,即關閉SSH工具程序也在運行。
daemonize no 改成 daemonize yes

2、默認的話redis-server啟動時會在當前目錄生成或讀取dump.rdb,可以指定生成的路徑
dir ./ 改成 dir /usr/local/redis/

3、指定是否在每次更新操作後進行日誌記錄,Redis在默認情況下是異步的把數據寫入磁盤,如果不開啟,可能會在斷電時導致一段時間內的數據丟失。 因為 redis本身同步數據文件是按上面save條件來同步的,所以有的數據會在一段時間內只存在於內存中。默認為no
appendonly no 改成 appendonly yes

4、.默認redis是只能內網127.0.0.0訪問,如果想外網訪問需要修改綁定的地址
bind 127.0.0.1 改成 bind 0.0.0.0 (別忘了在阿裏雲後臺給6379增加安全組配置)
改成任何IP都能訪問的,當然這裏也可以綁定單獨的IP

5、修改保護模式,不修改保護模式也是只能內網訪問的
protected-mode yes 改成 protected-mode no

6.設置密碼
將”#requirepass foobared“ 取掉註釋改成 requirepass 123

保存文件

第四、啟動測試

啟動redis服務

shell>./redis-server ./redis.conf

驗證服務是否啟動:

shell>ps aux|grep redis

結果如下:
技術分享圖片
說明啟動成功了。
關閉啟動的窗口,重新打開個命令終端,然後測試是否在後臺運行,結果和上面一樣,說明不論SSH是否關閉,redis服務都會在後臺以守護進程方式運行。

用redis-cli測試內網

運行命令,連接客戶端:

shell>./redis-cli -a xxx

備註:redis-cli -h 實例連接地址 -a 密碼

技術分享圖片

用java測試外網(阿裏雲防火墻規則添加端口6379)

創建一個java項目,導入jedis包,新new一個RedisConnectTest.java類,代碼如下:

package test.service;

import redis.clients.jedis.Jedis;

public class RedisConnectTest {

/**

* @author liu

* @version 創建時間:2018年3月17日22:13:50

* @ClassName 類名稱

* @Description 類描述

*/

public static void main(String[]args) {

try {

String host = "www.iotworld.vip";//控制臺顯示訪問IP地址

int port = xxx;

Jedis jedis = new Jedis(host,port);

// 鑒權信息

jedis.auth("xxxxx.");//password

String key = "redis_test";

String value = "Hello-aliyun-redis";

// select db 默認為0,共有16個

jedis.select(1);

// set一個key

jedis.set(key, value);

System.out.println("SetKey " + key + " Value: " + value);

// get 設置進去的key

String getvalue = jedis.get(key);

System.out.println("GetKey " + key + " ReturnValue: " + getvalue);

jedis.quit();

jedis.close();

} catch (Exception e) {

e.printStackTrace();

}

} }

運行結果如下:

Set Key redis_test Value: Hello-aliyun-redis

Get Key redis_test ReturnValue: Hello-aliyun-redis

說明連接並存儲成功了,並且取數據也成功了。
技術分享圖片

Centos7安裝Redis4.0.8