真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Redis的兩種安裝部署方式介紹

本篇內(nèi)容介紹了“redis的兩種安裝部署方式介紹”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

目前成都創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、大寧網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

1、Linux 系統(tǒng)下安裝 redis

安裝

在 redis 官網(wǎng)中有安裝教程,鏈接:https://redis.io/download,安裝步驟我拷貝過來了,步驟如下:

$ wget http://download.redis.io/releases/redis-5.0.6.tar.gz $ tar xzf redis-5.0.6.tar.gz $ cd redis-5.0.6 $ make

我在 /usr/local 目錄下面操作的這些命令,也就是說 Redis 的安裝目錄為 /usr/local ,這些命令執(zhí)行完之后你的機(jī)器上安裝好  Redis ,在安裝的過程中,如果你的機(jī)器上沒有安裝 gcc ,你安裝好 gcc 之后再 make 可能會報以下錯誤

jemalloc/jemalloc.h: No such file or directory

當(dāng)時沒有截取詳細(xì)的錯誤信息,只把主要的一段截取出來了,這個錯誤的原因是我們上一次 make  報錯之后,有編譯后的文件,所以我們需要清除上一次的殘留文件再重新編譯,將 make 換成 make distclean && make  就可以了。

redis.conf 文件

redis.conf 是 Redis 的配置文件,redis 的所有配置有在這個文件里面,這個文件挺大的有接近 1400 行,有關(guān) redis  的操作、使用說明都在里面,可以詳細(xì)的閱讀閱讀這個配置文件,大部分情況下我們使用默認(rèn)配置就行,只需要設(shè)置少量配置就行。redis.conf 的存放位置在  Redis 的安裝目錄下,我這里是 /usr/local/redis-5.0.5 目錄下,一起來看看我們可能會修改的幾個配置:

  • bind 127.0.0.1:允許訪問機(jī)器的IP,默認(rèn)只有本機(jī)才能訪問,你可以修改 ip  來運行其他機(jī)器也能訪問,但是如果你想讓所有機(jī)器都可以訪問的話,直接設(shè)置為 bind 0.0.0.0 就行了。

  • port 6379:redis 實例啟動的端口,默認(rèn)為 6379

  • daemonize no:是否以守護(hù)進(jìn)程的方式運行,默認(rèn)是 no,也就是說你把啟動窗口關(guān)閉了,redis 實例也就關(guān)閉了,一般這個選項我們設(shè)置為  yes,以守護(hù)進(jìn)程的方式運行,說俗一點就是后臺運行。

  • pidfile /var/run/redis_6379.pid:如果我們使用守護(hù)進(jìn)程方式運行的話 ,就會產(chǎn)生一個后綴名為 .pid  的文件,這個使用默認(rèn)的也行

  • dir ./:持久化文件存放位置,這個配置我們還是設(shè)置一下為好,我這里設(shè)置為 dir /usr/local/redis_data

  • appendonly no:是否開啟 AOF 持久化方式,redis 默認(rèn)只開啟了 RDB 模式,這里我們設(shè)置為  yes,兩種方式都開啟,雙重保險,關(guān)于這兩種方式的區(qū)別,我們后面在學(xué)習(xí)

好像大概設(shè)置這幾個就好了,更多關(guān)于 redis.conf 的配置,你可以詳細(xì)閱讀 redis.conf 配置文件或者查閱相關(guān)手冊。

redis 的啟動

Redis 的啟動非常簡單,Redis 安裝完成之后,會在 /usr/local/redis-5.0.5/src 存放 Redis 的 shell  交互命令,其中有一個 redis-server ,這個就是 Redis 的啟動命令,執(zhí)行:

./redis-server   /usr/local/redis-5.0.5/redis.conf

后面跟的是 redis.conf 的文件路徑,不出意外的話我們將啟動成功,你會看到如下界面:

Redis的兩種安裝部署方式介紹

redis 啟動

這里我們使用的是守護(hù)進(jìn)程的方式啟動,所以不會出現(xiàn)帶有 redis logo 的啟動界面,我們可以使用 shell 命令登錄到 Redis 中,還是在  src 目錄下面,執(zhí)行下面這條命令:

./redis-cli

這命令你就進(jìn)入了 shell 交互界面,./redis-cli 命令可以帶一些參數(shù),例如 -h IP 這個就可以進(jìn)入指定機(jī)器的 Redis  實例,進(jìn)入之后你就可以進(jìn)行一些操作了,如下圖所示:

Redis的兩種安裝部署方式介紹

redis 操作

redis 關(guān)閉

Redis 的關(guān)閉方式有兩種,一種是在 shell 交互界面關(guān)閉,另一種是 kill + 進(jìn)程號關(guān)閉 Redis 實例的方式

shell 交互界面關(guān)閉

shutdown [nosave|save]

在 shell 交互界面輸入 shutdown 命令就可以關(guān)閉 Redis 實例,后面有一個可選參數(shù),nosave 就是不將內(nèi)存中的數(shù)據(jù)持久化,save  就是將內(nèi)存中的數(shù)據(jù)持久化。shutdown 關(guān)閉方式是比較優(yōu)雅的關(guān)閉方式,建議使用這種關(guān)閉方式

Kill + 進(jìn)程號關(guān)閉 Redis 實例

使用 ps -ef|grep redis 查看 Redis 進(jìn)程號,如下圖所示:

Redis的兩種安裝部署方式介紹

查看 redis 進(jìn)程號

在這里找到我們需要關(guān)閉 redis 實例的進(jìn)程號,比如這里我們的進(jìn)程號為 27133,那么我們就直接使用 kill 27133 關(guān)閉 Redis  實例服務(wù),這種方式我們需要注意一個地方,那就是需要我們?nèi)グ?pid 文件刪掉,pid 文件存放的位置我們在 redis.conf 里配置的 pidfile  /var/run/redis_6379.pid,我們需要到 /var/run 目錄下把 redis_6379.pid 刪掉,這樣下一次才能正常重啟 Redis  服務(wù)。

上面兩種方式都可以關(guān)閉 Redis 服務(wù),隨便選一種都行,但是切記不要使用 Kill 9 方式關(guān)閉 Redis 進(jìn)程,這樣 Redis  不會進(jìn)行持久化操作,除此之外,還會造成緩沖區(qū)等資源不能優(yōu)雅關(guān)閉,極端情況下會造成 AOF 和復(fù)制丟失數(shù)據(jù)的情況

redis 開機(jī)自啟動

服務(wù)器上我們可能需要將 Redis 設(shè)置為開機(jī)自啟動,其實這個也非常簡單,我們只需要做以下四步操作即可。

1、 編寫配置腳本 vim /etc/init.d/redis

#!/bin/sh # # Simple Redis init.d script conceived to work on Linux systems # as it does use of the /proc filesystem. #chkconfig: 2345 80 90 #description:auto_run # 端口號 REDISPORT=6379 # 啟動命令 EXEC=/usr/local/redis-5.0.5/src/redis-server # shell 交付命令 CLIEXEC=/usr/local/redis-5.0.5/src/redis-cli # pid 存放位置 PIDFILE=/var/run/redis_${REDISPORT}.pid # redis 配置文件 CONF="/usr/local/redis-5.0.5/redis.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 ..."                 $CLIEXEC -p $REDISPORT 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

2、修改 redis.conf,設(shè)置 redis 為守護(hù)進(jìn)程方式運行

################################# GENERAL #####################################  # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. daemonize yes

3、修改文件執(zhí)行權(quán)限

chmod +x /etc/init.d/redis

4、設(shè)置開機(jī)啟動

# 啟動 redis service redis start # 停止 redis service redis stop # 開啟服務(wù)自啟動 chkconfig redis on

2、Docker 安裝Redis

Docker 安裝 Redis  整體來說比較方便,我說的是非生產(chǎn)環(huán)境,就是自己搭著測試或者學(xué)習(xí)的環(huán)境,下面的步驟全部建立在你已經(jīng)在你的電腦上安裝了 Docker  的基礎(chǔ)上,下面就來開啟安裝之旅。

1、拉取 redis 鏡像

docker pull redis

2、快速啟動

docker run -p 6379:6379 --name myredis -d redis redis-server --appendonly yes

這種方式啟動使用的默認(rèn)的 redis.conf 配置,我們先來看看這幾個參數(shù)的意思

  • -p 6379:6379:映射端口,前面的 6379 是外部 redis 端口,后面的 6379 是容器內(nèi)部的 redis 端口

  • --name myredis :容器對應(yīng)的名稱

  • redis redis-server:redis 代表著 redis 鏡像 redis-server 表示的是執(zhí)行的命令,也是就 redis  的啟動命令,跟我們 linux 下面的 ./redis-server 一樣

  • --appendonly yes:開啟 AOF 持久化

3、使用 redis

通過上面的步驟,我們已經(jīng)在 Docker 中啟動了 Redis 服務(wù),下面我們就來通過 redis-cli 訪問一下,使用下面這條命令就可以啟動  redis-cli

docker exec -it dockerRedis redis-cli

其中 dockerRedis 是你啟動 Redis 容器名稱,不出意外的話,你可以啟動一個 redis-cli 客戶端,如下圖所示:

Redis的兩種安裝部署方式介紹

docker redis-cli 客戶端

上面就是使用 Docker 簡單的啟動 Redis ,整體來說比 linux 上面安裝啟動要方便不少,主要是你可以在 windows  系統(tǒng)上運行,雖然最終它還是運行在 linux 上面的,但是這個過程我們是無感知的。你可以能會問:我想在啟動的時候知道 redis.conf  可行不?答案是可行的,但是如果你對 Docker 不了解的話,可能會遇到一些坑,我就遇到了,因為我對 Docker 不是太了解,平時使用 docker  都是只需要傳入?yún)?shù)就好了,沒有傳過文件。關(guān)于啟動時指定配置文件,在 redis 鏡像那里有說明,但是是 linux 下面的,并不是 windows 系統(tǒng)下的  Docker 配置方式,所以我就百度到了下面這段命令

docker run -v /d:/dockerdata/redis/config/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis redis-server /usr/local/etc/redis/redis.conf

這段命令就是一個坑,壓根就沒有,啟動這條命令,你將得到如下反饋:

Redis的兩種安裝部署方式介紹

顯然這條命令是沒有用的,當(dāng)然這只是我個人認(rèn)為,也許是我操作失誤,也許是我知識面不夠,如果朋友們發(fā)現(xiàn)錯誤還請多多指教,這里我就先當(dāng)它是錯誤的,正確的做法是在  Docker 的宿主機(jī)上存放 redis.conf 文件,顯然 Docker 的宿主機(jī)并不是 windows 系統(tǒng),而是啟動在 windows  系統(tǒng)上的虛擬機(jī),所以我們需要進(jìn)入到虛擬機(jī)里面,Docker Quickstart  Terminal啟動默認(rèn)界面并沒有正真的登錄到虛擬機(jī),所以我們需要更改登錄方式,使用 docker-machine ssh 命令,如下圖所示:

Redis的兩種安裝部署方式介紹

Docker Quickstart  Terminal 啟動方式

這樣我們就進(jìn)入到了真正的虛擬機(jī)里面,我們就在一臺虛擬機(jī)上操作了,跟我們在 linux 上的安裝一樣,我們先建立兩個目錄用來存放 Redis 配置:

/usr/local/redis:存放redis.conf /usr/local/redis/data :存放持久化文件

建立好兩個目錄后, 我們把 redis.conf 放在 /usr/local/redis 目錄下,使用下面這條 Docker 命令啟動 Redis  鏡像:

docker run -p 6379:6379 -v /usr/local/redis/redis.conf:/usr/local/etc/redis/redis.conf -v /usr/local/redis/data:/data --name dockerRedis -d redis  redis-server /usr/local/etc/redis/redis.conf

這條 docker 啟動命令跟上面的有一點區(qū)別,有兩個參數(shù)我在這里說明一下:

  • -v /usr/local/redis/redis.conf:/usr/local/etc/redis/redis.conf:這參數(shù)是將  /usr/local/redis/redis.conf 復(fù)制到 /usr/local/etc/redis/redis.conf 下

  • -v /usr/local/redis/data:/data:容器內(nèi)持久化文件的存放位置也會映射到宿主機(jī),換句話說在  /usr/local/redis/data 也會存放持久化文件

“Redis的兩種安裝部署方式介紹”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!


當(dāng)前名稱:Redis的兩種安裝部署方式介紹
標(biāo)題路徑:http://weahome.cn/article/psiopd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部