centos7.8安装redis5.0.10

你说的曾经没有我的故事 提交于 2021-01-13 22:57:20

准备

  • centos7.8服务器一台

修改主机名

# hostnamectl set-hostname redishost

安装redis

下载redis安装

# cd /opt
# wget https://download.redis.io/releases/redis-5.0.10.tar.gz

 解压压缩包

# cd /opt
# tar -zxf redis-5.0.10.tar.gz

 编译安装

# cd /opt
# cd redis-5.0.10
## 安装gcc编译器
# yum install gcc
# make MALLOC=libc
# # make install
cd src && make install
make[1]: Entering directory `/opt/redis-5.0.10/src'


Hint: It's a good idea to run 'make test' ;)


    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
make[1]: Leaving directory `/opt/redis-5.0.10/src

修改系统参数

## 修改sysctl.conf
# (
cat <<EOF
net.core.somaxconn=1024
vm.overcommit_memory=1
EOF
) >> /etc/sysctl.conf

以上操作是解决redis-server默认启动提示的前两个警告的持久方案,附redis-server默认启动的两个警告信息如下:

  • The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
  • 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.

修改系统启动参数关闭TCP

## 修改/etc/default/grub
## 在指定行加 transparent_hugepage=never
# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never"
GRUB_DISABLE_RECOVERY="true"


## 重新生成grub配置文件
# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1127.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1127.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-385c7efe9475460c95c436866e593af3
Found initrd image: /boot/initramfs-0-rescue-385c7efe9475460c95c436866e593af3.img
done

以上操作是解决redis-server默认启动提示的第三个警告的持久方案,附redis-server默认启动的第三个警告信息如下:

  • you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix thisissue 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 thesetting after a reboot. Redis must be restarted after THP is disabled.

根据提示将'echo never > /sys/kernel/mm/transparent_hugepage/enabled' 写入/etc/rc.local 其实并没有用,换成修改grub启动文件可以生效。

以后台进程方式启动redis

修改配置文件redis.conf

# cd /opt/redis-5.0.10
# mkdir /etc/redis
# cp redis.conf /etc/redis/redis.conf

在/etc/redis/redis.conf中修改以下3项

  • 以后台进程方式启动

修改daemonize no 为daemonize yes

  • 设置redis远程连接

注释掉bind 127.0.0.1

  • 设置redis连接密码

在requirepass foobard改为requirepass redis1234

设置systemctl启动程序

/usr/lib/systemd/system/redis.service

[Unit]
Description=Redis 6379
After=syslog.target network.target
[Service]
Type=forking
PrivateTmp=yes
Restart=always
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
User=root
Group=root
LimitCORE=infinity
LimitNOFILE=100000
LimitNPROC=100000
[Install]
WantedBy=multi-user.target

配置自动启动

systemctl daemon-reload  
systemctl enable redis

启动命令

systemctl enable redis 
systemctl start redis
systemctl restart redis
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!