您的位置:主页 > 心情短语 >

Centos7 Install and Configuration Redis

2018-05-03 11:27来源:综合新闻次阅读

  Redis是壹个开源(BSD答应),内存数据联合构存储,用作数据库,缓存和消息代理。它支持的数据联合构,例如字符串,散列,列表,集合,具有范围查询的排序集,位图,超文本和具有半径查询的地理空间索引。Redis内置复制,Lua脚本,LRU驱赶,事务和不同级别的磁盘持久性,并经过Redis Sentinel提供高可用性,并经过Redis Cluster进行主动分区。

  进入正题,没有论是物理或虚构化服务器,Redis装置方法都无区别,接上去我就开始装置操作。

  实验OS:CentOSLinuxrelease 7.3.1611 (Core) x64

  

Centos7 Install and Configuration Redis

  1.先决扩展条件

  装置扩展包以及依赖包 # yum install epel-release -y # yum install gcc gcc-c++ jemalloc-devel

  2.Redis装置

  下载解压 将其挪移到/usr/local目录,创建目录以及会员和组,并赋予目录权限,最后创建软连接。

  # wget # tar zxvf redis-4.0.1.tar.gz # mv redis-4.0.1 /usr/local/ # cd /usr/local/ # mkdir -p /usr/local/redis-4.0.1/logs # mkdir -p /usr/local/redis-4.0.1/rdb # groupadd redis # useradd -g redis -s /sbin/nologin redis # chown -R redis:redis /usr/local/redis-4.0.1/logs # chown -R redis:redis /usr/local/redis-4.0.1/rdb # chown redis:redis /usr/local/redis-4.0.1/redis.conf # make &&make install # ln -s redis-4.0.1 redis

  3.配置文件

  生产环境中以下信息是必须修正的,所以可以依据本人的需求进行修正 /usr/local/redis-4.0.1/redis.conf 此文件

  port 6379 #监听端口,默认是6379 daemonize yes #如果须要再后台运转,把该项改为yes requirepass foobared #去掉前边#注释,修正foobared为你想配置的任意密码 bind 10.10.204.65 #默认bind的填写127.0.0.1这样配置是只同意本地访问,想近程访问就改本机网卡配置的ip地侄?多个IP 请应用空格隔开 pidfile /usr/local/redis/logs/redis.pid logfile "/usr/local/redis/logs/redis.log" #设置日志文件路径 dir /usr/local/redis-4.0.1/rdb #持久化文件存储路径 supervised systemd #默认为no,因为咱们正再运转壹个应用systemd init零碎的操作零碎,所以咱们可以将其更改为systemd

  除了上述几个设置外,还有其他的等壹些参数,有须要可以依照配置文件的说明修正。

  4.测试redis启动

  # /usr/local/redis/src/redis-server /usr/local/redis/redis.conf ... WARNING The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 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. 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.

  可以看到存再3条启动正告信息:

  第壹个错误和第贰个错误可以同时处理,第壹个错误大概是说somaxconn的值128设置过小,此值受限于零碎的somaxconn与tcp_max_syn_backlog这两个值,所以应该把这两个内核参数值调大,第贰个错误是过量应用内存设置为0!再低内存环境下,后台保存可能失败。请再/etc/sysctl.conf 增加壹项 ‘vm.overcommit_memory = 1′ ,然后重启(或者运转命令’sysctl vm.overcommit_memory=1’ )使其生效。

  # vim /etc/sysctl.conf net.core.somaxconn = 20480 #最大队列长度,应酬突发的大并发连接请求,默认为128 net.ipv4.tcp_max_syn_backlog = 20480 #半连接队列长度,此值受限于内存大小,默认为1024 vm.overcommit_memory = 1 #过量应用内存设置为0! # sysctl -p 第叁个正告错误是须要关闭Linux (THP) 透明内存 # vim /etc/rc.local echo never > /sys/kernel/mm/transparent_hugepage/enabled #再开机脚本里追加此命令 至此3个错误已经处理,在次启动的时候就不会报正告信息。

  5.创建壹个Redis零碎单元文件

  # vim /usr/lib/systemd/system/redis.service [Unit] Description=Redis persistent key-value database After=network.target [Service] User=redis Group=redis ExecStart=/usr/local/bin/redis-server /usr/local/redis/redis.conf --daemonize no ExecStop=/usr/local/bin/redis-cli -p 6379 shutdown Restart=always [Install] WantedBy=multi-user.target

  6.启动redis并退出开机启动

  # systemctl daemon-reload # systemctl start redis.service # systemctl enable redis.service

  7.查看能否启动

  # ps -A | grep redis 6167 ? 00:00:00 redis-server

  8.退出防火墙

  # firewall-cmd --zone=public --add-port=6379/tcp --permanent # firewall-cmd --reload # firewall-cmd --zone=public --list-ports

  9.测试连接成功

  # redis-cli 127.0.0.1:6379>

  到日前为止redis已经完成装置,其实生产环境的装置也是如此,只不过需求不同,redis.conf中的修正内容不同。

Centos7 Install and Configuration Redis

本文不代表本站观点,目的在于传递更多信息及用于网络分享!

编辑:85dir 关键词:

网友评论

随机推荐

图文聚集

热门排行

最新文章