Linux服务器安装部署redis
参考地址:
redis教程:http://www.runoob.com/redis/redis-tutorial.html
redis百度百科:https://baike.baidu.com/item/Redis/6549233?fr=aladdin
redis官网:https://redis.io/
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的;
在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步;
一、BIN包安装Redis
root@localhost ~]# sha256sum Redis_INSTALL_2016-11-09_16-25-36.bin #检查文件的sha256是否一致 [root@localhost ~]# sh Redis_INSTALL_2016-11-09_16-25-36.bin #执行bin包的安装
下图提示表示安装成功:
二、源码包编译安装Redis
使用编译安装的方式,安装Redis
需要如下材料,
2.1、安装系统依赖包
该步骤需要安装服务器连接互联网,针对RedHat
服务器,如果未授权需要进行换源操作
[root@localhost redis-3.0.6]# yum install gcc-c++ tcl #安装系统的依赖包 #如果你的操作系统是Centos7.0或者RedHat7.0的需要更新一下systemd这个系统包,以解决开机启动项的问题 [root@localhost redis-3.0.6]# yum update systemd
2.2、上传源码包并检查防火墙与selinux的设置
[root@localhost ~]# setenforce 0 # 临时关闭selinx [root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux #修改selinux的配置文件,下次重启时生效 [root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #关闭防火墙,如果想针对特殊端口配置请参照 `Linux快速入门手册` # Centos7或RedHat7以后关闭防火墙,重启后会再次开启 [root@localhost ~]# service firewalld stop # Centos6或RedHat6关闭防火墙,重启后会再次开启 [root@localhost ~]# service iptables stop
2.3、编译安装redis
[root@localhost ]# tar -zxvf redis-3.0.6.tar.gz #解压Redis的源码安装目录 [root@localhost redis-3.0.6]# cd redis-3.0.6 #进入源码目录 [root@localhost redis-3.0.6]# make [root@localhost redis-3.0.6]# make PREFIX=/opt/redis3.0.6 install #安装redis至/opt/redis3.0.6 [root@localhost redis-3.0.6]# ln -s /opt/redis3.0.6 /usr/local/redis #在/usr/local/下创建一个不带版本号的redis链接 [root@localhost redis-3.0.6]# useradd -r -M redis #创建一个运行redis的用户,可以更好的保证服务器的安全 [root@localhost redis-3.0.6]# mkdir /usr/local/redis/data #创建存储redis内存快照的数据存储目录 [root@localhost redis-3.0.6]# mkdir /usr/local/redis/logs #创建redis的日志存放目录 [root@localhost redis-3.0.6]# mkdir /usr/local/redis/etc #创建存放redis的配置文件目录 [root@localhost redis-3.0.6]# touch /usr/local/redis/logs/redis.log #创建redis的日志文件 [root@localhost redis-3.0.6]# chown redis:redis -R /usr/local/redis [root@localhost redis-3.0.6]# chown redis:redis -R /usr/local/redis/ #修改redis程序的所有者 [root@localhost redis-3.0.6]# chmod +x -R /usr/local/redis #赋予redis可执行权限 [root@localhost redis_install_content]# cp redisd /etc/init.d/ #拷贝redis的启动脚本至/etc/init.d/目录 [root@localhost redis_install_content]# chmod +x /etc/init.d/redisd #赋予启动脚本执行权限 [root@localhost redis_install_content]# cp redis.conf /usr/local/redis/etc/ #拷贝redis配置文件至安装目录,这里面的配置项是经过测试与优化的 [root@localhost redis_install_content]# echo 'export PATH=/usr/local/redis/bin:$PATH' >> /etc/profile && source /etc/profile #系统连接与内存使用等参数优化配置 [root@localhost redis_install_content]# echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf [root@localhost redis_install_content]# echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local [root@localhost redis_install_content]# echo 'echo 511 > /proc/sys/net/core/somaxconn' >> /etc/rc.local [root@localhost redis_install_content]# chkconfig redisd on #设置redis服务开机启动
三、验证单机是否安装成功
不管是BIN
包还是编译安装都支持如下方式启动与停止Redis
service redisd start # 启动Redis
service redisd stop # 停止Redis
service redisd restart # 重新启动Redis
为了检验是否安装成功,我们可以在本机使用redis-cli
的客户端查看是否能够连接数据库:
[root@localhost ~]# source /etc/profile #更新环境变量信息 [root@localhost ~]# redis-cli ping #连接redis-server 发送ping命令 ####命令输出####### PONG #Bin包安装后默认密码,所以在测试时需要加上-a 密码 参数项已经验证 [root@localhost ~]# redis-cli -a 密码 ping #连接redis-server 发送ping命令 [root@localhost ~]# chkconfig --list #检查是否设置为开机启动项 ######省略输出############## netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off redisd 0:off 1:off 2:on 3:on 4:on 5:on 6:off #已经设置为开机启动
出现如下信息,则表示安装成功:
四、卸载
BIN
包安装还是编译安装,卸载Redis
的方式是一样的,删除安装文件
[root@localhost ]# service redisd stop # 停止正在运行的Redis [root@localhost ]# rm -rf /opt/redis3.0.6 [root@localhost ]# rm -rf /usr/local/redis [root@localhost ]# rm -rf /etc/init.d/redisd
其中,这些执行都是linux指令执行的;
打听下这个变量名谁起的