安装
源码安装
cd /usr/local/src
# 旧版本下载redis-5.0.9(低版本系统可能不支持最新版redis)
sudo wget http://download.redis.io/releases/redis-5.0.9.tar.gz
# 最新稳定版下载redis
sudo wget https://download.redis.io/redis-stable.tar.gz
# 以下是下载最新版后的操作,如果下载旧版,注意修改文件名称
sudo tar zxvf redis-stable.tar.gz redis-stable/ ; cd redis-stable/
sudo make
sudo make PREFIX=/usr/local/redis install
sudo mkdir /usr/local/redis/{conf,log} ; sudo mkdir -p /data/redis
sudo useradd -s /sbin/nologin redis
sudo chown redis /data/redis /usr/local/redis/log
配置文件修改
# 备份一下
sudo cp redis.conf /usr/local/redis/conf/
# 编辑配置文件
sudo vim /usr/local/redis/conf/redis.conf
bind 0.0.0.0 # 允许所有ip远程访问。新增。
protected-mode no # 关闭保护模式。修改。
port 6379 # 端口。可修改。
daemonize yes # 后台运行。修改。
logfile "/usr/local/redis/log/redis.log" # 日志文件,需指定路径。修改。
dir /data/redis # 数据文件,需指定路径。修改。
pidfile /usr/local/redis/log/redis_6379.pid # 进程文件,需指定路径。修改。
maxmemory 100mb # 最大内存。新增。
# requirepass foobared 下面增加密码配置
requirepass 123456 # 密码123456。新增。
定义systemd服务管理脚本
sudo vim /lib/systemd/system/redis.service
[Unit]
Description=redis
After=network.target
[Service]
User=redis
Type=forking
TimeoutSec=0
PIDFile=/usr/local/redis/log/redis_6379.pid
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
启动Redis服务
sudo vim /etc/sysctl.conf
# 增加内容
net.core.somaxconn = 2048
vm.overcommit_memory = 1
sudo sysctl -p
sudo systemctl daemon-reload
sudo systemctl enable redis
sudo systemctl start redis
# 配置环境变量方便使用
sudo vim /etc/profile.d/redis.sh
PATH=$PATH:/usr/local/redis/bin
source /etc/profile.d/redis.sh
连接redis
# 连接
redis-cli -a '123456'
# 指定地址连接
redis-cli -h 127.0.0.1 -p 6379 -a '123456'
# exit退出
编译错误解决办法
1) cc: Command not found 答:Redis它是由C语言编写的,所以编译需要GCC的支持,解决方案安装GCC:
yum -y install gcc
2) fatal error: jemalloc/jemalloc.h: No such file or directory 答:可能是上一次的编译文件没有清楚,解决方案清楚编译残留:
make clean、make distclean