centos配置redis
-
安装gcc依赖
- yum install -y gcc
-
下载并解压安装包
-
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
-
tar -zxvf redis-5.0.3.tar.gz
-
-
cd切换到redis解压目录下,执行编译
-
cd redis-5.0.3
-
make
-
-
安装并指定安装目录
-
make install PREFIX=/usr/local/redis
-
-
启动服务
-
前台启动
-
cd /usr/local/redis/bin/
-
./redis-server
-
-
后台启动
-
从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录(解压的目录下)
-
cp /usr/local/redis-5.0.3/redis.conf /usr/local/redis/bin/
-
-
修改 redis.conf 文件,把 daemonize no 改为 daemonize yes
-
-
-
设置开机启动
-
vi /etc/systemd/system/redis.service
-
-
各种配置
- 首次启动会有以下问题,需要逐个配置修改
192521:C 17 Mar 2021 16:28:26.618 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 192521:C 17 Mar 2021 16:28:26.618 # Redis version=5.0.3, bits=64, commit=00000000, modified=0, pid=192521, just started 192521:C 17 Mar 2021 16:28:26.618 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf 192521:M 17 Mar 2021 16:28:26.619 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 192521:M 17 Mar 2021 16:28:26.619 # Server initialized 192521:M 17 Mar 2021 16:28:26.619 # 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. 192521:M 17 Mar 2021 16:28:26.619 # 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.
-
启动redis,命令: redis-server redis.conf路径文件
-
这句话的翻译大概就是:对一个高负载的环境来说tcp设置128这个值,太小了 打开ietc/sysctl.conf 在这里面添net.core.somaxconn= 1024 然后执行sysctl -p 就可以永久消除这个warning
-
redis.conf配置
-
bind 0.0.0.0 # 允许远程连接(所有用户,也可以指定IP) protected-mode no # 初始为yes(安全模式,要远程连接必须要改为no) dbfilename dump.rdb #默认的,不需要改 dir /root/redis/data/ # dbfile的保存路径,如果路径不存在则需要手动创建 logfile "/root/redis/log/redis-server.log" # 和db文件一样,路径不存在手动创建 databases 16 # 默认数据库数量, 连接时默认为连接到第一个数据库 requirepass zgfRedis # 默认是注释的,需要的话自己设置密码
-
创建软连接方便使用
ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis-cli ln -s /usr/local/redis/bin/redis-service /usr/bin/redis-service
-
设置开机启动
sudo vim /etc/systemd/system/redis.service # 编辑下面内容 [Unit] Description=redisserver After=network.target [Service] Type=forking ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf PrivateTmp=true [Install] WantedBy=multi-user.target # 重载配置 systemctl daemon-reload # 开启服务 systemctl start redis.service # 设置为开机启动 systemctl enable redis.service
-
重启机器
-