redis 簡單安裝

參考官網
https://redis.io/download/
https://redis.io/docs/getting-started/installation/install-redis-from-source/

下載最新穩定版,當前是 7.0.0
wget https://download.redis.io/redis-stable.tar.gz

tar zxf /usr/local/src/redis-stable.tar.gz -C /usr/local/

安裝編譯工具
yum install gcc-c++ make

cd /usr/local/redis-stable && make
至此,redis二進制文件都已生成,且在本目錄下,具備可遷移性
# 如果要安裝二進制文件到系統目錄/usr/local/bin,則執行以下安裝命令,否則忽略
make install

調整目錄結構,使其更直觀
mkdir etc bin
備份原始配置,並修改配置
cp redis.conf etc/redis_default.conf
grep -vP '^#|^$' > etc/redis.conf

## 修改配置
# tcp-keepalive 默認300s,可改爲 60s
tcp-keepalive 60
# 單機多實例時,需分別指定不同的pid文件
pidfile /var/run/redis_6379.pid
# 日誌
logfile /usr/local/redis-stable/logs/redis.log
# 實例目錄
dir /usr/local/redis-stable/
## 更多配置修改,參考原始配置和官方網站

# 單機多實例時,建議以不同目錄區分實例,如 redis_6379、redis_6380 等。

cp src/mkreleasehdr.sh bin/
cp src/redis-benchmark bin/
cp src/redis-check-aof bin/
cp src/redis-check-rdb bin/
cp src/redis-cli bin/
cp src/redis-sentinel bin/
cp src/redis-server bin/
cp src/redis-trib.rb bin/


## 也可以使用自帶工具初始化,指定目錄和配置、端口,會將二進制文件和配置文件部署到自定義目錄:
sh utils/install_server.sh


## 啓動,並檢查日誌
## """
3733276:M 22 Feb 2022 17:21:35.781 # Server initialized
3733276:M 22 Feb 2022 17:21:35.781 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
3733276:M 22 Feb 2022 17:21:35.781 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
3733276:M 22 Feb 2022 17:21:35.781 * Ready to accept connections
3733276:M 22 Feb 2022 17:21:35.781 * The server is now ready to accept connections at /usr/local/redis-stable/redis.sock
"""

echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf

sysctl vm.overcommit_memory=1 > /dev/null
echo never > /sys/kernel/mm/transparent_hugepage/enabled


### 啓停腳本

## 編寫啓動腳本 /usr/local/redis-stable/bin/startup.sh
#!/bin/bash

# @env
sysctl vm.overcommit_memory=1 > /dev/null
echo never > /sys/kernel/mm/transparent_hugepage/enabled

# startup
REDIS_HOME="/usr/local/redis-stable"
${REDIS_HOME}/bin/redis-server ${REDIS_HOME}/etc/redis.conf


## 編寫停服腳本 /usr/local/redis-stable/bin/stop.sh
#!/bin/bash

pid=`ps -ef |grep 'redis-stable/'|grep -v grep|awk '{print $2}'`
kill -15 ${pid} || kill -9 ${pid}

## 常用基礎命令,參考 菜鳥教程 https://www.runoob.com/redis/redis-tutorial.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章