官网
https://redis.io/
安装依赖包
[root@localhost ~]# yum -y install gcc libc
使用wget获取
[root@localhost ~]# wget http://download.redis.io/releases/redis-5.0.8.tar.gz
解压和安装
[root@localhost ~]# tar -zxvf redis-5.0.8.tar.gz [root@localhost ~]# mv redis-5.0.8 /usr/local/redis [root@localhost ~]# cd /usr/local/redis/ [root@localhost redis]# make [root@localhost redis]# make install
检测
[root@localhost redis]# yum -y install tcl [root@localhost redis]# make test
出现如下说明没问题了
修改配置文件
[root@localhost redis]# cp redis.conf /etc/ [root@localhost redis]# mkdir -p /usr/local/redis/logs [root@localhost redis]# touch /usr/local/redis/logs/redis.log [root@localhost redis]# vim /etc/redis.conf logfile "/usr/local/redis/logs/redis.log" 添加日志 daemonize yes ##开机启动 #bind 127.0.0.1 ##注释掉,允许所有其他ip访问,真实使用最好坐下限制,只允许某些主机访问 protected-mode no ## 允许其他机器上的客户端连接当前redis,配置文件设置该项,则开机启动处就可以去掉--protected no dir /usr/local/redis/ ## db保存路径,由于db持久化到磁盘,占用空间可能比较大,所以选择比较打的文件夹设置 requirepass 12345 #设置密码
设置开机启动
[root@localhost redis]# vim /usr/lib/systemd/system/redis.service [Unit] Description=Redis persistent key-value database After=network.target After=network-online.target Wants=network-online.target [Service] ExecStart=/usr/local/bin/redis-server /etc/redis.conf --protected-mode no ExecStop=/usr/local/bin/redis-cli shutdown #Restart=always Type=forking #User=redis #Group=redis RuntimeDirectory=redis RuntimeDirectoryMode=0755 [Install] WantedBy=multi-user.target
Restart取值及含义
no(默认值):退出后不会重启 on-success:只有正常退出时(退出状态码为0),才会重启 on-failure:非正常退出时(退出状态码非0),包括被信号终止和超时,才会重启 on-abnormal:只有被信号终止和超时,才会重启 on-abort:只有在收到没有捕捉到的信号终止时,才会重启 on-watchdog:超时退出,才会重启 always:不管是什么退出原因,总是重启
Type字段取值及含义
simple(默认值):ExecStart字段启动的进程为主进程 forking:ExecStart字段将以fork()方式启动,此时父进程将会退出,子进程将成为主进程 oneshot:类似于simple,但只执行一次,Systemd 会等它执行完,才启动其他服务 dbus:类似于simple,但会等待 D-Bus 信号后启动 notify:类似于simple,启动结束后会发出通知信号,然后 Systemd 再启动其他服务 idle:类似于simple,但是要等到其他任务都执行完,才会启动该服务。一种使用场合是为让该服务的输出,不与其他服务的输出相混合
使配置生效,进制内核中启用Transparent Huge Pages(THP)支持,防止Redis延迟和内存使用问题
[root@localhost redis]# vim /etc/sysctl.conf vm.overcommit_memory=1 net.core.somaxconn = 1024 [root@localhost redis]# sysctl -p vm.overcommit_memory = 1 net.core.somaxconn = 1024 [root@localhost ~]# touch /var/lock/subsys/local [root@localhost ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@localhost redis]# systemctl enable redis Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service. [root@localhost redis]# systemctl daemon-reload [root@localhost redis]# systemctl start redis
连接后基本验证
继续阅读
- 我的QQ
- QQ扫一扫
-
- 我的头条
- 头条扫一扫
-
评论