目錄
- 一、環境檢查
- 1.1 必要環境檢查
- 1.2 在線安裝(有網絡)
- 1.3 離線安裝(無網絡)
- 二、下載Redis
- 2.1 在線下載
- 2.2 離線下載
- 三、安裝Redis
- 四、配置Redis服務
- 五、開機自啟服務
- 六、開放防火墻端口
- 七、常用命令
一、環境檢查
1.1 必要環境檢查
# 查看 gcc 版本
[root@openeuler ~]# gcc --version
# 查看 make 版本
[root@openeuler ~]# make --version
# 查看 tcl 版本
[root@openeuler ~]# tclsh
% info patchlevel
# 查看 gcc make tcl 位置
[root@openeuler ~]# readlink -f $(which gcc make tclsh)
1.2 在線安裝(有網絡)
[root@openeuler ~]# sudo dnf install -y gcc* make tcl tcl-devel
1.3 離線安裝(無網絡)
1.3.1 軟件包下載
openEuler軟件中心:https://easysoftware.openeuler.org/zh/rpm
華為開源鏡像站:http://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP4/everything/x86_64/Packages/
華中科技大學鏡像站:https://mirrors.hust.edu.cn/openeuler/openEuler-22.03-LTS-SP4/everything/x86_64/Packages/
序號 | RPM包 |
---|---|
1 | gcc-10.3.1-62.oe2203sp4.x86_64.rpm |
2 | gcc-c+±10.3.1-62.oe2203sp4.x86_64.rpm |
3 | gcc-gdb-plugin-10.3.1-62.oe2203sp4.x86_64.rpm |
4 | gcc-gfortran-10.3.1-62.oe2203sp4.x86_64.rpm |
5 | gcc-objc+±10.3.1-62.oe2203sp4.x86_64.rpm |
6 | gcc-objc-10.3.1-62.oe2203sp4.x86_64.rpm |
7 | gcc-plugin-devel-10.3.1-62.oe2203sp4.x86_64.rpm |
8 | gcc_secure-1.0-0.13.oe2203sp4.x86_64.rpm |
9 | make-4.3-4.oe2203sp4.x86_64.rpm |
10 | make-devel-4.3-4.oe2203sp4.x86_64.rpm |
11 | tcl-8.6.12-4.oe2203sp4.x86_64.rpm |
12 | tcl-devel-8.6.12-4.oe2203sp4.x86_64.rpm |
1.3.1 軟件包安裝
# 切換到 RPM 包所在目錄,假設 RPM 包存放在 /home/rpm_packages 目錄下
[root@openeuler ~]# cd /home/rpm_packages
# 正常安裝命令
[root@openeuler rpm_packages]# sudo rpm -ivh *.rpm --nodeps
# 強制安裝命令
# 重要事項:沒把握的話,千萬不要用下面這個命令,這個命令會忽略依賴和兼容性,可能會導致基礎組件被卸載掉。
[root@openeuler rpm_packages]# sudo rpm -Uvh *.rpm --nodeps --force
二、下載Redis
2.1 在線下載
# 創建安裝目錄
[root@openeuler ~]# mkdir /mnt/redis
[root@openeuler ~]# cd /mnt/redis/
# 在線下載安裝包
[root@openeuler redis]# wget https://download.redis.io/releases/redis-6.2.9.tar.gz
2.2 離線下載
下載地址:https://download.redis.io/releases/
上傳到 /mnt/redis 目錄下
三、安裝Redis
# 進入安裝目錄
[root@openeuler ~]# cd /mnt/redis/
# 解壓安裝包
[root@openeuler redis]# tar -zxvf redis-6.2.9.tar.gz
# 進入解壓目錄
[root@openeuler redis]# cd /mnt/redis/redis-6.2.9/
# 編譯
[root@openeuler redis-6.2.9]# make
# 執行安裝并指定安裝目錄
[root@openeuler redis-6.2.9]# sudo make install PREFIX=/mnt/redis/redis6.2.9
# 進入安裝目錄
[root@openeuler redis-6.2.9]# cd /mnt/redis/redis6.2.9/
[root@openeuler redis6.2.9]#
四、配置Redis服務
4.1 創建安裝文件夾
# 配置文件路徑
[root@openeuler redis6.2.9]# mkdir -p /mnt/redis/redis6.2.9/conf
# 日志存放路徑
[root@openeuler redis6.2.9]# mkdir -p /mnt/redis/redis6.2.9/log
# 數據持久化路徑
[root@openeuler redis6.2.9]# mkdir -p /mnt/redis/redis6.2.9/redis_data
# Pid存放路徑
[root@openeuler redis6.2.9]# mkdir -p /mnt/redis/redis6.2.9/pidfile
4.2 修改redis.conf配置文件
# 復制redis.conf配置文件
[root@openeuler redis6.2.9]# cp -a /mnt/redis/redis-6.2.9/redis.conf /mnt/redis/redis6.2.9/conf/
# 編輯redis.conf配置文件
[root@openeuler redis6.2.9]# vi /mnt/redis/redis6.2.9/conf/redis.conf# 不限制IP訪問,將127.0.0.1修改成0.0.0.0
# 為了安全,生產環境建議綁定固定IP
# bind 127.0.0.1 -::1
bind 0.0.0.0 -::1
# 修改端口號,生產環境建議修改
# port 6379
port 6399
# 開啟后臺運行
daemonize yes
# 修改pidfile存放路徑
# pidfile /mnt/redis/redis6.2.9/pidfile/redis_6379.pid
pidfile /mnt/redis/redis6.2.9/pidfile/redis_6399.pid
# 修改日志存放路徑,生產環境建議修改
logfile "/mnt/redis/redis6.2.9/log/redis.log"
# 持久化文件名,可以默認
dbfilename dump.rdb
# 修改數據持久化路徑,生產環境建議修改
dir /mnt/redis/redis6.2.9/redis_data
# 設置密碼,生產環境建議修改
requirepass 123456
4.3 啟動服務,客戶端訪問
# 進入bin目錄
[root@openeuler redis6.2.9]# cd /mnt/redis/redis6.2.9/bin/# 啟動后臺服務
[root@openeuler bin]# ./redis-server /mnt/redis/redis6.2.9/conf/redis.conf# 客戶端訪問驗證
# 未指定端口
[root@openeuler bin]# ./redis-cli
127.0.0.1:6379> auth 123456 ## 輸入前面設置的密碼
OK
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> quit ## 退出客戶端
127.0.0.1:6379> shutdown ## 停止redis后臺服務
# 指定端口6399
[root@openeuler bin]# ./redis-cli -p 6399
127.0.0.1:6399> auth 123456
OK
127.0.0.1:6399> ping
PONG
127.0.0.1:6399> # 查看redis進程
[root@openeuler bin]# ps -ef|grep redis
[root@openeuler bin]# netstat -tlnp | grep 6379
[root@openeuler bin]# netstat -tlnp | grep 6399
# 殺掉進程
[root@openeuler bin]# kill -9 進程號
五、開機自啟服務
5.1 配置SELinux安全上下文
注意:如果不配置SELinux安全上下文,后續啟動系統腳本時報錯【code=exited, status=203/EXEC】
# 恢復默認上下文(針對自定義路徑)
[root@openeuler bin]# sudo semanage fcontext -a -t bin_t "/mnt/redis/redis6.2.9/bin(/.*)?"
[root@openeuler bin]# sudo semanage fcontext -a -t etc_t "/mnt/redis/redis6.2.9/conf(/.*)?"
[root@openeuler bin]# sudo restorecon -Rv /mnt/redis/
# 驗證標簽
[root@openeuler bin]# ls -Zd /mnt/redis/redis6.2.9/bin/redis-server
# 應顯示類似:system_u:object_r:bin_t:s0
5.2 配置開機自啟腳本
# 創建自啟動腳本
[root@openeuler bin]# sudo vi /etc/systemd/system/redis.service# =============================================================================
# 復制粘貼以下內容:
# /mnt/redis/redis6.2.9/bin需要按照實際情況修改成自己的地址
[Unit]
Description=Redis Server
After=network.target[Service]
ExecStart=/mnt/redis/redis6.2.9/bin/redis-server /mnt/redis/redis6.2.9/conf/redis.conf
Restart=always
PrivateTmp=true
Type=forking[Install]
WantedBy=multi-user.target
# =============================================================================# 注意:要保證redis后臺服務未啟動
# 設置開機自啟
[root@openeuler bin]# systemctl daemon-reload
[root@openeuler bin]# systemctl enable redis
# 啟動Redis服務
[root@openeuler bin]# systemctl start redis
# 查看服務狀態
[root@openeuler bin]# systemctl status redis
六、開放防火墻端口
# 查詢端口是否開放
[root@openeuler ~]# sudo firewall-cmd --query-port=6379/tcp
[root@openeuler ~]# sudo firewall-cmd --query-port=6399/tcp
# 開放端口(TCP協議)
[root@openeuler ~]# sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent
[root@openeuler ~]# sudo firewall-cmd --zone=public --add-port=6399/tcp --permanent
# 重新加載防火墻規則
[root@openeuler ~]# sudo firewall-cmd --reload
# 驗證端口是否開放
[root@openeuler ~]# sudo firewall-cmd --zone=public --list-ports
# 查看所有端口
[root@centosServer ~]# sudo netstat -nlpt
七、常用命令
# 啟動redis服務
systemctl start redis.service
# 查看服務狀態
systemctl status redis.service
# 重啟服務
systemctl restart redis.service
# 停止服務
systemctl stop redis.service
# 開機自動啟動
systemctl enable redis.service
# 取消開機自動啟動
systemctl disabled redis.service
# 查看進程
ps -ef | grep redis