redis基礎之安裝和配置(一)


前言

折騰一下redis在linux環境的安裝。

ubantu16.04環境下安裝

  • 下載安裝,依次執行命令;
# 從官方網站下載安裝包,注意,當前在哪個目錄下執行命令,下載的包將在哪個目錄下
$ wget http://download.redis.io/releases/redis-4.0.6.tar.gz
# 將下載包解壓
$ tar -zxvf redis-4.0.6.tar.gz
# 進入解壓后的文件夾
$ cd redis-4.0.6
# 對文件進行編譯,得到可執行的文件,
$ sudo make
# 對編譯的文件進行測試,時間較長,沒有報錯則沒有問題,編譯出的redis命令放在src目錄下
$ sudo make test
# 一般將redis文件統一放在/usr/local目錄下,因此將文件移動
$ sudo mv ./redis-4.0.6/* /usr/local/redis/
# 進入redis的目錄,執行安裝
$ cd /usr/local/redis/
$ sudo make install  
# 生成配置文件
$ cd utils
$ ./install_server.sh
  • 運行上面的腳本后,會讓用戶設置一些配置文件
Please select the redis port for this instance: [6379]   # 配置啟動端口
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] # 配置啟動文件
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log] # 配置日志文件
Selected default - /var/log/redis_6379.log   
Please select the data directory for this instance [/var/lib/redis/6379] # 配置數據文件路徑
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server] # 配置redis-server和redis-cli的安裝路徑

注意:redis相關操作命令都存放在/usr/local/redis/src 目錄下;

測試redis

  • 啟動redis服務端
$ redis-server

可看到當前的終端被阻塞,按ctrl+C可以關閉服務端,但是有時候會關閉失敗,后台依舊會運行;

  • 關閉redis-server
方法一:
# 找到redis的進程ID
$ ps ajx|grep redis  或 top | grep redis

$ sudo kill -9 進程ID

方法二:
# 使用客戶端命令
$ redis-cli -h ip地址  -p 端口  shutdown
# 該命令有時會報錯,不成功使用方法一
  • 啟動redis的客戶端
$ redis-cli

必須是在服務端打開后,客戶端才能登陸,否則顯示連接被拒絕;成功后進入客戶端:

# 默認只有本機可以訪問,端口為6379
> 127.0.0.1:6379

手動更改配置

為了適應需要,如不能阻塞終端,讓redis在后台運行;可以遠程訪問redis,修改端口以及持久化文件的存儲路徑等,需要修改配置;

  • 進入redis的配置文件redis.conf
$ cd /usr/local/redis/
$ sudo vi redis.conf

更改

  • 允許遠程訪問:將 bind 127.0.0.1 這一行注釋,解除綁定本機;

  • 修改端口:將 port 6379 這一行更改為 port ****(指定自己的端口)

  • 配置以守護進程運行:

# 找到這一行,默認不是守護進程,會阻塞終端,改成yes,在后台運行,非阻塞
daemonize no
  • 可設置持久化文件
# 這一行表示可持久化文件存儲在dump.rdb文件中,可自定義文件名;
dbfilename dump.rdb
  • 修改持久化文件的存儲路徑
# 這一行表示文件存儲在運行的目錄下,一般需要修改位置,推薦/var/lib/redis
# 先在/var/lib的目錄下創建redis文件
dir ./   改為 dir /var/lib/redis/
  • 設置日志文件的路徑
# 找到loglevel notice這一行,在其下面:
logfile ''    # 設置文件的路徑,redis默認不記錄日志;
  • 移動配置文件位置,方便使用配置文件運行
# 直接使用  redis-server 命令運行,默認是阻塞終端並且端口是6379的
# 將配置文件redis.conf放置在一個專門的位置
$ sudo cp /usr/local/redis/redis.conf /etc/redis/
# 使用位置文件的方式啟動,配置文件的相關參數就會生效
$ sudo redis-server /etc/redis/redis.conf
# 同時登陸客戶端的方式也會更改,如果修改了端口
$ redis-cli -h host -p port
  • 設置密碼
# 如果有需要,可以為redis設置操作密碼
# 進入配置文件
$ sudo vi /etc/redis/redis.conf
# 使用末行模式,搜索requirepass
$ / requirepass
$ requirepass 123456  # 取消requirepass foobared 的注釋,將foobared的位置換成自己的密碼
# 重新啟動redis-server
$ redis-cli -h host -p port
# 執行
$ auth password(密碼)  # 沒有這句不能進行讀寫操作

說明:不知道密碼的情況下也是可以登錄redis-cli客戶端的,但是不能進行讀寫操作

多個redis實例說明

一台服務器上可以同時運行多個redis的實例,只需要將它們設置成不同的端口就可以了;

# 進入redis的配置文件目錄
cd /etc/redis/
# 復制一份redis.conf
sudo cp redis.conf redis1.conf
# 修改配置文件,將運行端口更改
sudo vi redis1.conf
port 6390  # 找到修改端口的那一行
# 啟動redis
sudo redis-server /etc/redis/redis1.conf

# 這時服務器新開了一個redis的實例,與其他的完全隔離;
# 多個redis的實例可以共用一份dump.rdb持久化文件,但是其內容是相互隔離的;

注意重復執行啟動redis的命令,不會成功開啟,而是依舊運行第一次開啟的那個進程pid。

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM