Redis單機(jī)安裝最佳實(shí)踐

redis是一個(gè)nosql數(shù)據(jù)庫(kù),由于高性能的存儲(chǔ)能力常用來(lái)做分布式緩存中間件。

以下是linux centos7下安裝了redis5.x單機(jī)版來(lái)作為參考,全部使用root用戶安裝,如果不使用root可以在相應(yīng)需要權(quán)限的地方加上sudo命令。

首先安裝gcc

[root /]# yum -y install gcc-c++

再下載并解壓redis

打開redis官網(wǎng)下載redis。可以先復(fù)制redis包的鏈接(文中使用的是redis5.0.8版本),然后在linux服務(wù)器上直接下載

redis下載
//先切換到/tmp目錄再下載
[root /]# cd /tmp
[root /tmp]# wget http://download.redis.io/releases/redis-5.0.8.tar.gz
//解壓redis包
[root /tmp]# tar -zxvf redis-5.0.8.tar.gz
[root /tmp]# ls
redis-5.0.8  redis-5.0.8.tar.gz

編譯安裝redis

下載解壓后就可以編譯了

[root /tmp]# cd redis-5.0.8
// 編譯安裝redis
[root /tmp/redis-5.0.8]# make && make install

如果沒(méi)有出現(xiàn)error就說(shuō)明安裝成功了,默認(rèn)安裝在/usr/local/bin目錄

//查看redis是否安裝完成
[root /]# cd /usr/local/bin
[root /usr/local/bin]# ls
redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server

修改redis默認(rèn)配置

這個(gè)時(shí)候就已經(jīng)安裝好了,但我們還需要稍做一些簡(jiǎn)單的配置讓redis使用起來(lái)更方便

//新建一個(gè)redis目錄
[root /]# mkdir /usr/local/redis
//復(fù)制reids默認(rèn)配置文件到redis目錄
[root /]# cp /tmp/redis-5.0.8/redis.conf /usr/local/redis/
[root /]# cd /usr/local/redis/
//創(chuàng)建redis工作目錄
[root /]# mkdir working
//把默認(rèn)的redis配置文件明改成redis端口號(hào)來(lái)方便管理,默認(rèn)是6379
[root /usr/local/redis/]# mv redis.conf 6379.conf

redis配置文件弄好后再修改一下redis.conf的配置,有四個(gè)基本的東西需要修改

  1. 把redis修改成后臺(tái)運(yùn)行,不然ssh一斷redis就關(guān)閉了
  2. 修改ip訪問(wèn)限制,redis默認(rèn)是只能本機(jī)修改
  3. 添加訪問(wèn)密碼,因?yàn)榉砰_了ip訪問(wèn)限制如果不加密碼的話就很容易被黑掉
  4. 修改redis默認(rèn)工作目錄用戶備份和恢復(fù)數(shù)據(jù)
//修改redis配置文件
[root /usr/local/redis/]# vi 6379.conf

可以搜索daemonize,bind,requirepassdir四個(gè)關(guān)鍵字來(lái)找到三個(gè)默認(rèn)配置

# redis默認(rèn)運(yùn)行方式:非后臺(tái)運(yùn)行
daemonize no
# redis默認(rèn)綁定ip
bind 127.0.0.1
# redis默認(rèn)工作目錄,可以用來(lái)備份和恢復(fù)數(shù)據(jù)
dir ./
# redis默認(rèn)沒(méi)有設(shè)置密碼
# requirepass foobared

把這個(gè)四個(gè)地方更改成

# 更改redis運(yùn)行方式:后臺(tái)運(yùn)行
daemonize yes
# 更改redis訪問(wèn)ip為不限制
bind 0.0.0.0
# 設(shè)置redis工作目錄
dir /usr/local/redis/working
# 設(shè)置redis密碼
requirepass red123456

這樣一個(gè)單機(jī)的redis就配置好了。但redis啟動(dòng)起來(lái)并不是很方便,需要加很長(zhǎng)一段配置文件路徑

redis-server /user/local/redis/6379.conf 

把redis做成linux服務(wù)

進(jìn)入redis安裝目錄找到redis_init_script腳本

//首先進(jìn)入redis安裝包目錄
[root /]# cd /tmp/redis-5.0.8/utils
//可以找到一個(gè)redis_init_script
[root /tmp/redis-5.0.8/utils/]# ls
... redis_init_script ...
//復(fù)制腳本到/etc/init.d/目錄
[root /tmp/redis-5.0.8/utils/]# cp redis_init_script /etc/init.d/redisd

這樣我們就有了一個(gè)redisd的服務(wù),但是需要簡(jiǎn)單的改一下

//修改腳本
[root /etc/init.d/]# vi /etc/init.d/redisd

下面是默認(rèn)的,我們需要把redis配置文件路徑改對(duì)并增加訪問(wèn)密碼

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"

case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                #這個(gè)地方需要添加訪問(wèn)密碼
                $CLIEXEC -p $REDISPORT -a $PASSWORD shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac

改成

# 修改配置文件目錄位置
CONF="/usr/local/redis/${REDISPORT}.conf"
# 增加redis訪問(wèn)密碼
PASSWORD=red123456

這樣就好了,我們啟動(dòng)試一下

[root /]# service redisd start
Starting Redis server...
7136:C 09 Apr 2020 12:26:46.265 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7136:C 09 Apr 2020 12:26:46.265 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=7136, just started
7136:C 09 Apr 2020 12:26:46.265 # Configuration loaded

啟動(dòng)成功,再使用redis客戶端連接一下

[root /]# redis-cli -a red123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> get k1
"v1"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容