Centos7安裝Redis4.0.8
今天安裝了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