本文内容链接部分,如有侵权,请及时联系我删除
下载
官网下载地址:https://redis.io/download
选择Stable版本下载:
http://112.5.240.22/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/download.redis.io/releases/redis-5.0.3.tar.gz
安装
- 下载下来后,通过工具上传到linux系统上
- 解压到这个路径/home/redis/
tar xzvf redis-5.0.3.tar.gz -C /home/redis/
- 执行 make 对redis解压后的文件进行编译
cd redis-5.0.3
Make
redis源码安装出现fatal error: jemalloc/jemalloc.h: No such file or directory
解决:https://blog.csdn.net/feinifi/article/details/78228782
- 编译成功后,进入到src文件夹,执行make install 进行Redis安装
cd redis-5.0.3/src
make install
- 安装成功后,对redis进行部署
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc
mv redis-5.0.3/redis.conf /usr/local/redis/etc
cd redis-5.0.3/src
mv mkreleasdhdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
问题:redis-check-dump这个文件有可能会提示没有
- 设置后台启动redis服务
cd /usr/local/redis/etc
vi redis.conf
该3个地方
a 注释掉bind,要不其他机子连不到
#bind 127.0.0.1
b 改成后台运行模式
daemonize yes
c 禁用保护模式
protected-mode no
- 配置好后,启用redis并指明配置文件
cd /usr/local/redis/bin
./redis-server ../etc/redis.conf
OK,通过外网telnet一下Redis服务器看看是否通了,在编程语言中连接Redis也就可以了
- 停止redis服务
先通过一下命令找到redis的pid
ps -ef|grep redis-server
root 16729 1 0 16:13 ? 00:00:01 ./redis-server *:6379
root 20323 13651 0 16:41 pts/0 00:00:00 grep --color=auto redis-server
找到 pid为 16729
然后执行一下命令结束改pid即可
kill -9 16729
开机自启动设置
- 复制脚本文件redis_init_script 到/etc/init.d/文件夹下并将文件命名为redis
以root身份运行
cp /home/redis/redis-5.0.3/utils/redis_init_script /etc/init.d/redis
定位到:/etc/init.d/redis
cd /etc/init.d/
vi redis
这几行信息参数设置为:
REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis/etc/redis.conf"
备注:EXEC、CLIEXEC、CONF这个路径一定要确保存在。
- 授权执行redis脚本
chmod +x /etc/init.d/redis
- 设置为开机自启动服务器
chkconfig redis on
#打开服务
service redis start
#关闭服务
service redis stop
- 修改profile文件
vi /etc/profile
在最后一行添加:
export PATH="$PATH:/usr/local/redis/bin"
马上应用这个文件
. /etc/profile
- 配置下面的内核参数,否则Redis脚本在重启或停止redis时,将会报错,并且不能自动在停止服务前同步数据到磁盘上/etc/sysctl.conf加上
vi /etc/sysctl.conf
在最后面添加一行:
vm.overcommit_memory = 1
执行应用
sysctl -p