1. 程式人生 > >redis在linux中安裝配置

redis在linux中安裝配置

環境:ubuntu 16.04.05 + redis-3.2.9

基本安裝

1.下載redis-3.3.9包,解壓

2.進入redis-3.2.9目錄內,執行terminal,執行sudo make,編譯後執行sudo make install

3.安裝完成後,在terminal中執行redis-server啟動redis服務

4.客戶端中的terminal中執行redis-cli連線redis伺服器,輸入ping測試連線,返回pong成功

自定義安裝

下載redis並解壓 ,進入redis-3.2.9目錄內sudo make進行編譯

編譯時如果系統什麼都沒裝就需要安裝依賴。可能缺少的有jemalloc,lua, hiredis, linenoise。只要進入redis-3.2.9目錄,找到並進入deps目錄, 檢視是否存在,如果沒有就在redis-3.2.9目錄下使用命令

sudo make jemalloc

sudo make lua

sudo make hiredis

sudo make linenoise

把這些依賴安裝就可以了。

make編譯成功之後就可以看到提示

LINK redis-server

INSTALL redis-sentinel

CC redis-cli.o

LINK redis-cli

CC redis-benchmark.o

LINK redis-benchmark

INSTALL redis-check-rdb

INSTALL redis-check-aof

Hint: It's a good idea to run 'make test' ;)

make[1]: Leaving directory '/home/ubuntu/program/redis/redis-3.2.9/src'

從最後一行可以看出它提示可以去/home/ubuntu/Documents/program/redis-3.2.9/src目錄查看了,進去後會有很多東西。

這樣就編譯好了

預設的安裝方式是直接在 redis-3.2.9目錄內sudo make install

這樣安裝會安裝到/usr/local/bin目錄下,這樣的好處是就不需要寫path路徑,不過不好跟其他如 hadoop, spark等安裝軟體集中管理,可以選擇用自定義安裝的方式

自定義安裝如下

進入/home/ubuntu/Documents/program/redis-3.2.9/src目錄,輸入命令 sudo make PREFIX=/home/ubuntu/program/redis/redis-3.2.9 install 就會安裝到指定的安裝目錄了

會有提示

Hint: It’s a good idea to run ‘make test’ ;)

INSTALL install

INSTALL install

INSTALL install

INSTALL install

INSTALL install

進入/home/ubuntu/program/redis-3.2.9目錄,有個bin資料夾,再進,裡面有這幾個檔案就行了。

redis-benchmark redis-check-rdb redis-sentinel

redis-check-aof redis-cli redis-server

還要再配置環境變數

sudo nano /etc/environment

使之生效

source /etc/environment

這時候可以在任意目錄下啟動 redis-server了

不過這是預設啟動,使用的是預設的配置檔案,並不是想要的。

在編譯的資料夾內除了src目錄有一個utils目錄,進入裡面

執行 sudo ./install_server.sh

會有提示, 最後顯示如下

Port : 6379

Config file : /etc/redis/6379.conf

Log file : /var/log/redis_6379.log

Data dir : /var/lib/redis/6379

Executable : /home/ubuntu/Documents/program/redis-3.2.9/bin/redis-server

Cli Executable : /home/ubuntu/Documents/program/redis-3.2.9/bin/redis-cli

前四個點回車確定就可以了,如果第五個的時候是空選項,沒發現有東西選,只有一個[],只好自己輸入安裝地址

/home/ubuntu/program/redis/redis-3.2.9/bin/redis-server

最後確定會提示如下

Copied /tmp/6379.conf => /etc/init.d/redis_6379

Installing service…

Success!

Starting Redis server…

Installation successful!

Selected config:

Port : 6379

Config file : /etc/redis/6379.conf

Log file : /var/log/redis_6379.log

Data dir : /var/lib/redis/6379

Executable : /usr/local/bin/redis-server

Cli Executable : /usr/local/bin/redis-cli

Is this ok? Then press ENTER to go on or Ctrl-C to abort.

Copied /tmp/6379.conf => /etc/init.d/redis_6379

從Copied /tmp/6379.conf => /etc/init.d/redis_6379這句話我們知道它把生成的檔案拷貝到了這裡。

進去/etc/init.d

檢視發現有個redis_6379

把名字改成redisd (d是後臺服務的意思。)

這服務的配置檔案在/etc/redis下有個6379.conf,可以檢視裡面有埠,資料庫數量等等。

裡面有一行

daemonize yes

說明是後臺服務了

程序獲得的ID號,這ID號要儲存

pidfile /var/run/redis_6379.pid

預設資料庫數量

databases 16

這是上面預設的目錄

dir /var/lib/redis/6379

然後啟動服務

service redisd start

發現啟動失敗

提示

Failed to start redisd.service: Unit redisd.service not found.

說沒有這個服務,要用systemctl daemon-reload命令

輸入sudo systemctl daemon-reload,再輸入service redisd start就可以了。

檢視端口占用情況

ss -tanl

顯示127.0.0.1:6379,說明啟動成功了。

再啟動

redis-cli

在任意位置這命令沒啟動成功,用source發現不行,後面重啟居然成功了。

之後就可以使用redis-server啟動服務了

測試連線

本地連線測試

127.0.0.1:6379> ping

PONG表明連線成功

遠端連結 redis-cli -h host -p port -a password

關閉服務 redis-cli -p 埠號 shutdown