1、下载redis 地址 http://download.redis.io/releases/redis-5.0.5.tar.gz
2、解压tar -zxf redis-5.0.2.tar.gz
3、make编译
3.1 缺少gcc环境需要yum install gcc
3.2 报错:
[root@lang redis-5.0.2]# make
cd src && make all
make[1]: Entering directory `/usr/local/redis-4.0.10/src'
CC adlist.o
In file included from adlist.c:34:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/usr/local/redis-4.0.10/src'
make: *** [all] Error 2
redis解压目录下有个README.md文件中有如下一段话:
Selecting a non-default memory allocator when building Redis is done by setting the `MALLOC` environment variable. Redis is compiled and linked against libc malloc by default, with the exception of jemalloc being the default on Linux systems. This default was picked because jemalloc has proven to have fewer fragmentation problems than libc malloc.
To force compiling against libc malloc, use:
% make MALLOC=libc
To compile against jemalloc on Mac OS X systems, use:
% make MALLOC=jemalloc
4、编译加上MALLOC=libc 即可
#make MALLOC=libc
补充:或者直接make install安装也是可以的,默认会把它装在系统目录:usr/local/bin下
第七步修改开机启动的配置文件的时候用的就是这个目录:
/usr/local/bin/redis-cli
/usr/local/bin/redis-server
5、运行redis(主要是看是否安装成功,可忽略此步)
[root@host4 redis-5.0.5]# src/redis-server
10498:C 30 May 2019 11:42:14.708 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
10498:C 30 May 2019 11:42:14.708 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=10498, just started
10498:C 30 May 2019 11:42:14.708 # Warning: no config file specified, using the default config. In order to specify a config file use src/redis-server /path/to/redis.conf
10498:M 30 May 2019 11:42:14.709 * Increased maximum number of open files to 10032 (it was originally set to 1024).
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0.5 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 10498
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
10498:M 30 May 2019 11:42:14.710 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
10498:M 30 May 2019 11:42:14.710 # Server initialized
10498:M 30 May 2019 11:42:14.710 # 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.
10498:M 30 May 2019 11:42:14.710 # 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.
10498:M 30 May 2019 11:42:14.710 * Ready to accept connections
修改配置文件 redis.conf
#vi redis.conf
为了方便:vi进这个文件之后,不要着急点 i ,直接 【/ + 下面的 】要修改的关键字,便可检索到对应位置,再进行i修改.
daemonize no 改为 yes 后台运行:
protected-mode yes 改为no 可以不用输入密码登陆
bind 127.0.0.1 表示只可以本机访问,要是远程访问需要注释掉(前面加#号)
6、带配置文件后台启动
[root@lang redis-5.0.2]# src/redis-server redis.conf
7897:C 06 Dec 2018 06:25:57.484 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7897:C 06 Dec 2018 06:25:57.484 # Redis version=5.0.2, bits=64, commit=00000000, modified=0, pid=7897, just started
7897:C 06 Dec 2018 06:25:57.484 # Configuration loaded
[root@lang redis-5.0.2]# ps -ef | grep redis
root 7898 1 4 06:25 ? 00:00:00 src/redis-server *:6379
root 7903 2880 0 06:25 pts/1 00:00:00 grep redis
[root@lang redis-5.0.2]#
7.设置开机启动
复制redis配置文件(启动脚本需要用到配置文件内容,所以要复制)
mkdir /etc/redis
cp /opt/redis/redis.conf /etc/redis/6379.conf
查看redis_init_script的路径
find / -name redis_init_script
// 中间的目录是你find后的啊
cp /home/redis/utils/redis_init_script /etc/init.d/redis
修改启动脚本参数
vi /etc/init.d/redis
启动redis
# 进入usr/loacl/bin目录下找到`redis-server`
./redis-server ../redis.conf
# 查看是否启动成功
netstat -nlpt
打开redis命令:service redis start
关闭redis命令:service redis stop
设为开机启动:chkconfig redis on
设为开机关闭:chkconfig redis off
8.测试
由于我的配的是本机的,也即是bind:127.0.0.1并没有注销掉,所以测试命令如下:
# 进入redis客户端
./redis-cli
出现如下图就表示OK了
主要事项: