环境
Ubuntu 18.04.3 LTS (GNU/Linux 5.0.0-37-generic x86_64)
下载
下载地址https://redis.io/download
或http://download.redis.io/releases/
wget http://download.redis.io/releases/redis-5.0.7.tar
上传
[root@lrz local]# ll
.....
-rw-r--r-- 1 root root 1984203 Jan 8 11:26 redis-5.0.7.tar.gz
.....
解压
tar -zvxf redis-5.0.7.tar.gz
[root@lrz local]# tar -zvxf redis-5.0.7.tar.gz
redis-5.0.7/
redis-5.0.7/.gitignore
redis-5.0.7/00-RELEASENOTES
redis-5.0.7/BUGS
redis-5.0.7/CONTRIBUTING
redis-5.0.7/COPYING
redis-5.0.7/INSTALL
redis-5.0.7/MANIFESTO
redis-5.0.7/Makefile
redis-5.0.7/README.md
......
[root@lrz local]# ll
......
drwxrwxr-x 6 root root 4096 Nov 20 01:05 redis-5.0.7
-rw-r--r-- 1 root root 1984203 Jan 8 11:26 redis-5.0.7.tar.gz
......
改名
mv redis-5.0.7 redis
[root@lrz local]# mv redis-5.0.7 redis
[root@lrz local]# ll
......
drwxrwxr-x 6 root root 4096 Nov 20 01:05 redis
-rw-r--r-- 1 root root 1984203 Jan 8 11:26 redis-5.0.7.tar.gz
......
编译
进入redis目录
[root@lrz local]# cd redis
[root@lrz redis]# ll
total 276
-rw-rw-r-- 1 root root 115100 Nov 20 01:05 00-RELEASENOTES
-rw-rw-r-- 1 root root 53 Nov 20 01:05 BUGS
-rw-rw-r-- 1 root root 2381 Nov 20 01:05 CONTRIBUTING
-rw-rw-r-- 1 root root 1487 Nov 20 01:05 COPYING
drwxrwxr-x 6 root root 4096 Nov 20 01:05 deps
-rw-rw-r-- 1 root root 11 Nov 20 01:05 INSTALL
-rw-rw-r-- 1 root root 151 Nov 20 01:05 Makefile
-rw-rw-r-- 1 root root 6888 Nov 20 01:05 MANIFESTO
-rw-rw-r-- 1 root root 20555 Nov 20 01:05 README.md
-rw-rw-r-- 1 root root 61797 Nov 20 01:05 redis.conf
-rwxrwxr-x 1 root root 275 Nov 20 01:05 runtest
-rwxrwxr-x 1 root root 280 Nov 20 01:05 runtest-cluster
-rwxrwxr-x 1 root root 373 Nov 20 01:05 runtest-moduleapi
-rwxrwxr-x 1 root root 281 Nov 20 01:05 runtest-sentinel
-rw-rw-r-- 1 root root 9710 Nov 20 01:05 sentinel.conf
drwxrwxr-x 3 root root 4096 Nov 20 01:05 src
drwxrwxr-x 11 root root 4096 Nov 20 01:05 tests
drwxrwxr-x 8 root root 4096 Nov 20 01:05 utils
编译
make
[root@lrz redis]# make
cd src && make all
make[1]: Entering directory `/usr/local/redis/src'
CC Makefile.dep
make[1]: Leaving directory `/usr/local/redis/src'
make[1]: Entering directory `/usr/local/redis/src'
rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html Makefile.dep dict-benchmark
......
......
......
LINK redis-server
INSTALL redis-sentinel
CC redis-cli.o
LINK redis-cli
CC redis-benchmark.o
LINK redis-benchmark
INSTALL redis-check-rdb
INSTALL redis-check-aof
Hint: It's a good idea to run 'make test' ;)
make[1]: Leaving directory `/usr/local/redis/src'
[root@lrz redis]# ll
total 276
-rw-rw-r-- 1 root root 115100 Nov 20 01:05 00-RELEASENOTES
-rw-rw-r-- 1 root root 53 Nov 20 01:05 BUGS
-rw-rw-r-- 1 root root 2381 Nov 20 01:05 CONTRIBUTING
-rw-rw-r-- 1 root root 1487 Nov 20 01:05 COPYING
drwxrwxr-x 6 root root 4096 Jan 8 11:32 deps
-rw-rw-r-- 1 root root 11 Nov 20 01:05 INSTALL
-rw-rw-r-- 1 root root 151 Nov 20 01:05 Makefile
-rw-rw-r-- 1 root root 6888 Nov 20 01:05 MANIFESTO
-rw-rw-r-- 1 root root 20555 Nov 20 01:05 README.md
-rw-rw-r-- 1 root root 61797 Nov 20 01:05 redis.conf
-rwxrwxr-x 1 root root 275 Nov 20 01:05 runtest
-rwxrwxr-x 1 root root 280 Nov 20 01:05 runtest-cluster
-rwxrwxr-x 1 root root 373 Nov 20 01:05 runtest-moduleapi
-rwxrwxr-x 1 root root 281 Nov 20 01:05 runtest-sentinel
-rw-rw-r-- 1 root root 9710 Nov 20 01:05 sentinel.conf
drwxrwxr-x 3 root root 4096 Jan 8 11:34 src
drwxrwxr-x 11 root root 4096 Nov 20 01:05 tests
drwxrwxr-x 8 root root 4096 Nov 20 01:05 utils
启动
./src/redis-server redis.conf
[root@lrz redis]# ./src/redis-server redis.conf
14185:C 08 Jan 2020 12:00:15.593 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
14185:C 08 Jan 2020 12:00:15.593 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=14185, just started
14185:C 08 Jan 2020 12:00:15.593 # Configuration loaded
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0.7 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 14185
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
14185:M 08 Jan 2020 12:00:15.594 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
14185:M 08 Jan 2020 12:00:15.594 # Server initialized
14185:M 08 Jan 2020 12:00:15.594 # 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.
14185:M 08 Jan 2020 12:00:15.594 # 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.
14185:M 08 Jan 2020 12:00:15.595 * Ready to accept connections
默认开启的 redis 是一个前台的进程,窗口必须一直开着,一旦关闭,redis 服务端就会关闭,设置redis 以后台进程的方式启动
1.备份redis.conf
先Ctrl+c停掉
cp redis.conf redis.conf.backup
[root@lrz redis]# cp redis.conf redis.conf.backup
[root@lrz redis]# ll
total 340
......
-rw-rw-r-- 1 root root 61797 Nov 20 01:05 redis.conf
-rw-r--r-- 1 root root 61797 Jan 8 11:57 redis.conf.backup
......
2.修改redis.conf配置
vim redis.conf
搜索
:/daemonize
......
################################# GENERAL #####################################
# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize no
......
把daemonize no改为daemonize yes
保存退出
3.重新启动
让 redis 运行时加载我们指定的配置文件,而不是它默认的:
./src/redis-server redis.conf
[root@lrz redis]# ./src/redis-server redis.conf
23735:C 08 Jan 2020 13:14:23.192 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
23735:C 08 Jan 2020 13:14:23.192 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=23735, just started
23735:C 08 Jan 2020 13:14:23.192 # Configuration loaded
查看
ps -ef|grep redis
[root@lrz redis]# ps -ef|grep redis
root 23736 1 0 13:14 ? 00:00:01 ./src/redis-server 127.0.0.1:6379
root 26100 22684 0 13:32 pts/1 00:00:00 ./src/redis-cli
root 26210 3993 0 13:33 pts/0 00:00:00 grep --color=auto redis
客户端
启动 redis 客户端
./src/redis-cli
[root@lrz redis]# ./src/redis-cli
127.0.0.1:6379>
校验是否连通
127.0.0.1:6379> ping
PONG
说明成功
查看版本
./src/redis-server -v
或
./src/redis-cli -v
严格上说:通过 redis-cli 得到的结果应该是redis-cli 的版本,但是 redis-cli 和redis-server 一般都是从同一套源码编译出的。所以应该是一样的。
或
./src/redis-cli info | grep 'redis_version'
[root@lrz redis]# ./src/redis-cli info | grep 'redis_version'
redis_version:5.0.7
关闭redis
./src/redis-cli shutdown
或
./src/redis-cli -p 6379 shutdown
[root@lrz redis]# ps -ef|grep redis
root 29832 3993 0 14:01 pts/0 00:00:00 grep --color=auto redis
end
来源:CSDN
作者:liurz66
链接:https://blog.csdn.net/qq_36666670/article/details/103885838