CentOS7 安裝 Redis 7.0.2
安裝 Redis
# 首先安裝依賴gcc, 后面需要使用make編譯redis
yum install gcc -y
# 進(jìn)入 /usr/local/src 目錄, 把源碼下載到這里
cd /usr/local/src
# 下載 redis 7.0.2 的源碼,github被墻,可以使用國內(nèi)的地址
wget http://download.redis.io/releases/redis-7.0.2.tar.gz
# 解壓縮
tar zxvf redis-7.0.2.tar.gz
# 進(jìn)入解壓后的文件夾
cd redis-7.0.2
# 編譯并安裝 redis, 漫長的等待...
make && make install
# 安裝完成后,redis會被默認(rèn)安裝在 /usr/local/bin/
# 查看下這個目錄下的文件,可以看到有 redis-server, 這個文件就是redis的服務(wù)程序了
ls /usr/local/bin/
啟動 Redis
# 因為redis被默認(rèn)安裝在/usr/local/bin,這個目錄默認(rèn)就在系統(tǒng)的環(huán)境變量中(不信,你可以使用 env 命令,查看一下你的PATH是不是有)
# 所以,我們可以在任意位置運(yùn)行 redis-server 來啟動 redis
redis-server
啟動成功,你可以看到如下界面:

但是這里有些問題:
- redis的默認(rèn)端口是 6379, 假如這個端口被占用了怎么辦?
[root@broadm ~]# redis-server
6610:C 25 Jun 2022 15:47:53.378 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
6610:C 25 Jun 2022 15:47:53.378 # Redis version=7.0.2, bits=64, commit=00000000, modified=0, pid=6610, just started
6610:C 25 Jun 2022 15:47:53.378 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
6610:M 25 Jun 2022 15:47:53.379 * Increased maximum number of open files to 10032 (it was originally set to 1024).
6610:M 25 Jun 2022 15:47:53.379 * monotonic clock: POSIX clock_gettime
6610:M 25 Jun 2022 15:47:53.380 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
6610:M 25 Jun 2022 15:47:53.380 # Failed listening on port 6379 (TCP), aborting.
- redis-server 默認(rèn)以前臺方式啟動,即啟動完成后,一直占據(jù)命令窗口,我們無法再執(zhí)行其他操作了,這明顯不合適,我們需要的是后臺啟動
修改配置文件
好在 redis 提供了配置文件,我們可以配置redis,修改默認(rèn)端口,修改啟動方式為后臺啟動,修改密碼等等.
還記得上面,我們解壓redis的目錄嗎? 沒錯,就是 /usr/local/src/redis-7.0.2, 讓我們進(jìn)入到這個目錄, redis的配置文件就在這里 redis.conf
# 進(jìn)入redis的解壓目錄
cd /usr/local/src/redis-7.0.2
# 查看目錄內(nèi)容, 你會看到 redis.conf
ls
# 在編輯 redis.conf 之前, 好的做法是先備份它
cp redis.conf redis.conf.backup
# 好了,現(xiàn)在我們可以大膽的修改 redis.conf 了
vim redis.conf
后臺啟動
首先我們搜索 daemonize , vim的查找操作別忘了(不會的話自己百度)
找到 daemonize no 這一行, 然后我們把 no 修改為 yes, 這樣就可以后臺啟動redis了
daemonize yes
設(shè)置密碼
我們搜索 requirepass,找到 # requirepass foobared 這一行, 我們可以看到默認(rèn)密碼這一行被注釋了,說明默認(rèn)沒有開啟密碼保護(hù)
requirepass 你的密碼
設(shè)置端口
搜索 port, 你會發(fā)現(xiàn) port 6379 這一行, 需要的話你就改它吧(比如,你的6379端口被其他程序占用了)
port 6379
允許遠(yuǎn)程訪問
找到 bind 127.0.0.1 -::1, 修改為
bind 0.0.0.0
修改其他配置請查看官方文檔
OK, 改完了配置文件, 我們要怎么使用它呢? 很簡單:
執(zhí)行下面的命令,必須要在 redis.conf 所在的文件夾, 就是上面的 /usr/local/src/redis-7.0.2
如果你離開這個文件夾了,請使用完整的路徑 redis-server /usr/local/src/redis-7.0.2/redis.conf
redis-server redis.conf
現(xiàn)在redis就是以后臺的方式啟動了,看看我的實(shí)操:
[root@broadm redis-7.0.2]# redis-server redis.conf
[root@broadm redis-7.0.2]# ps -ef | grep redis
root 6573 1970 0 15:47 pts/0 00:00:05 redis-server *:6379
root 6704 6583 0 16:25 pts/1 00:00:00 grep --color=auto redis
[root@broadm redis-7.0.2]#
開機(jī)自啟
這種啟動的方式很low啊,每次重啟機(jī)器的話,是不是都要手動敲命令啊
沒錯,你需要開機(jī)自啟,也就是需要搞成系統(tǒng)服務(wù),讓我們開始吧:
首先,你要為redis編寫一個系統(tǒng)服務(wù)文件:
vim /etc/systemd/system/redis.service
文件內(nèi)容如下:
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-7.0.2/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
注意: 上面的 ExecStart , 如果你按照我的方式一步步來的話,不用改,否則修改為自己的實(shí)際安裝路徑
重新加載系統(tǒng)服務(wù)
systemctl daemon-reload
設(shè)置開機(jī)自啟:
systemctl enable redis
啟動,停止,卸載,查看狀態(tài)
# 啟動redis服務(wù)
systemctl start redis
# 查看服務(wù)狀態(tài)
systemctl status redis
# 停止服務(wù)
systemctl stop redis
# 取消開機(jī)自動啟動(卸載服務(wù))
systemctl disabled redis
-
如果你在啟動redis之后, 使用
systemctl status redis發(fā)現(xiàn),
沒有啟動成功, 這可能是因為,你之前已經(jīng)啟動了redis了,首先把之前啟動的關(guān)閉后,再使用systemctl start redis -
你可以使用
ps -ef | grep redis查看正在運(yùn)行的redis進(jìn)程 -
使用
kill -9 進(jìn)程ID殺死正在運(yùn)行的進(jìn)程
補(bǔ)充: 如果您的服務(wù)器開啟了防火墻,您需要把redis的端口放行,或者您是使用的云服務(wù)器,您同樣需要配置防火墻
正常的運(yùn)行狀態(tài)應(yīng)該是下面這樣的,祝你好運(yùn)!!!
[root@broadm redis-7.0.2]# systemctl status redis
● redis.service - redis-server
Loaded: loaded (/etc/systemd/system/redis.service; enabled; vendor preset: disabled)
Active: active (running) since 六 2022-06-25 16:46:10 CST; 3s ago
Process: 6907 ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-7.0.2/redis.conf (code=exited, status=0/SUCCESS)
Main PID: 6908 (redis-server)
Tasks: 5
Memory: 6.7M
CGroup: /system.slice/redis.service
└─6908 /usr/local/bin/redis-server 127.0.0.1:6379
6月 25 16:46:10 broadm systemd[1]: Starting redis-server...
6月 25 16:46:10 broadm systemd[1]: Started redis-server.

浙公網(wǎng)安備 33010602011771號