❶ 在linxu环境下编译redis报错
问题:本人用虚拟机安装centos6.5系统, redis安装不成功,和楼主的报错一毛一样,原因不详,目前的取得快照是安装了jdk,mysql,tomcat的版本;
解决方案:将linux系统恢复到最初的版本(就是啥都没装的版本),重新安装redis,安装成功,我都挺蒙蔽的,不知道啥原因。
附带我的操作步骤:用户为root用户。
1.下载redis 我下载的是redis-2.6.16.tar.gz
2.FTP上传到linux /root目录下(可以自定义)
3.执行yum install gcc-c++(下载gcc)
4.解压tar -zxvf redis-2.6.16.tar.gz到当前文件夹
5.进入cd redis-2.6.16文件夹
6.执行make(编译前必须安装gcc)
7.安装成功
8.安装测试 make test 如果报错则执行以下步骤(因为缺少ctl)
8.1 安装tcl
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
tar xzvf tcl8.6.1-src.tar.gz
cd /usr/local/tcl8.6.1/unix/
./configure
make
make install
8.2 在/root/redis-2.6.16目录下执行make test(需要执行一段时间) 提示:
All tests passed without errors!
Cleanup: may take some time... OK
make[1]: Leaving directory `/root/redis-2.6.16/src'
证明你安装成功redis了
❷ 怎么在linux系统上装redis服务
一:redis的安装与初始配置:
Redis下载wgethttp://download.redis.io/releases/redis-
3.2.6.tar.gztarxzfredis-3.2.6.tar.gz
3.cdredis-3.2.6
4.makeMALLOC=libc
5.cdredis-3.2.6/src
6.makeinstall
mv/usr/local/redis-3.2.6/redis.conf/etc
mv/usr/local/redis-3.2.6/src/mkreleasdhdr.shredis-benchmarkredis-check-aofredis-check-mpredis-cliredis-server/usr/bin
配置后台启动redis服务
a)首先编辑/etc/redis.conf文件,将daemonize属性改为yes(表明需要在后台运行)
b)再次启动redis服务,并指定启动服务配置文件
/usr/bin/redis-server/etc/redis.conf
Yum安装redis:
首先为yum添加epel源:yuminstallepel-release回车
再次:yuminstallredis回车
❸ linux 的环境搭建(二)--redis单机环境、生产环境、集群环境的搭建
一、目录
1、工具
2、安装tcl
3、安装单机版redis
4、把redis设置为daemon进程,每次系统启动,redis进程一起启动
5、安装redis cluster
二、工具
2.1、tcl8.6.1-src.tar.gz
2.2、ruby-2.3.1.tar.gz
2.3、redis-4.1.1.gem
2.4、redis-3.2.8.tar.gz
2.5、openssl-1.0.2r.tar.gz
三、安装tcl(安装redis必须先要安装tcl)
3.1、把tcl8.6.1-src.tar.gz通过WinSCP上传到虚拟机中的/usr/local目录下
四、安装单机版redis
4.1、把redis-3.2.8.tar.gz通过WinSCP上传到虚拟机中的/usr/local目录下
4.2、依次运行如下命令:
tar -zxvf redis-3.2.8.tar.gz 解压文件
cd redis-3.2.8
make && make test && make install
五、把redis设置为daemon进程,每次系统启动,redis进程一起启动
5.1、将redis的utils目录下的redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_6379,6379是我们希望这个redis实例监听的端口号
5.2、修改redis_6379脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379)
protected-mode no 取消保护模式,保护模式只能127.0.0.1访问
daemonize yes 让redis以daemon进程运行
pidfile /var/run/redis_6379.pid 设置redis的pid文件位置
bind 192.168.3.110
port 6379 设置redis的监听端口号
dir /var/redis/6379 设置持久化文件的存储位置
logfile /var/log/redis/6379.log 设置日志文件位置
5.6、启动redis,依次执行:
cd /etc/init.d,
chmod 777 redis_6379,赋读写执行的权限(chmod -R 777 * 是递归把该目录下的所有文件和其子文件全部赋权限)
./redis_6379 start 启动
5.7、确认redis进程是否启动,ps -ef | grep redis
5.8、让redis跟随系统启动自动启动
5.9、重启系统,不手动启动redis,直接连接redis,可以连接上,表示配置成功
此时一个单机版的redis的生产环境已经搭建好了,每次服务器重启,redis都会自动的启动
六、安装redis cluster
(redis cluster集群,要求至少3个master,去组成一个高可用,健壮的分布式的集群,每个master都建议至少给一个slave,3个master,3个slave)
6.1、前提,我在其它机器上启动了六个redis(安装步骤都如下)
2.2、创建三个目录:
mkdir -p /etc/redis-cluster 存放集群配置信息,自动生成配置
mkdir -p /var/log/redis redis日志
mkdir -p /var/redis/7001 存放redis的rdb文件和aof文件
6.3、将redis的utils目录下的redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_7001,7001是我们希望这个redis实例监听的端口号,并修改redis_7001配置文件中的REDISPORT=7001
6.4、修改/etc/redis/7001.conf中的部分配置为生产环境
6.5、完成了一个redis环境的配置,依次再配置其余五个,分别为7002、7003、7004、7005、7006,每个启动脚本内,都修改对应的端口号
6.6、启动6个redis实例
6.7、创建集群(需要安装ruby、rubygems)
上述命令在部分机器上是可以直接运行完成,成功安装的,但在部分机器上运行第三条命令时会提示ruby版本太低、openssl找不到的问题,下面依次解决这两个问题:
6.8、再次运行gem install redis命令,报出两个错误
6.9、再次运行gem install redis命令,报出一个错误
6.10、再次运行gem install redis命令,报出一个错误
6.11、再次运行gem install redis命令
[root@ceshi01 local]# gem install redis
Successfully installed redis-4.1.1
Parsing documentation for redis-4.1.1
Done installing documentation for redis after 1 seconds
WARNING: Unable to pull data from ' https://rubygems.org/' : SSL_connect returned=1 errno=0 state=error: certificate verify failed ( https://api.rubygems.org/specs.4.8.gz )
1 gem installed
运行成功
此时Redis安装好,此三个工具也安装好了,这时我们来做一个Redis集群测试,在一台服务器中创建了6个Redis实例,开启6个Redis服务
redis-trib.rb create --replicas 1 192.168.3.104:7001 192.168.3.104:7002 192.168.3.105:7003 192.168.3.105:7004 192.168.3.106:7005 192.168.3.106:7006
[root@eshop-cache02 init.d]# redis-trib.rb create --replicas 1 192.168.3.104:7001 192.168.3.104:7002 192.168.3.105:7003 192.168.3.105:7004 192.168.3.106:7005 192.168.3.106:7006
此时一个redis集群环境就已经搭建好了,可以通过redis-trib.rb check 192.168.3.105:7003命令查看集群几点的信息
[root@eshop-cache02 init.d]# redis-trib.rb check 192.168.3.105:7004
redis cluster的优点:读写分离+高可用+多master
读写分离:每个master都有一个slave
高可用:master宕机,slave自动被切换过去
多master:横向扩容支持更大数据量
❹ Linux安装redis
http://redis.io/download 或
wget http://download.redis.io/releases/redis-5.0.0.tar.gz
yum -y install gcc automake autoconf libtool make
注意: 运行yum时出现/var/run/yum.pid已被锁定,PID为xxxx的另一个程序正在运行的问题解决
rm -f /var/run/yum.pid
tar zxvf redis-5.0.8.tar.gz -C /opt
cd /opt/redis-5.0.8 && make MALLOC=libc
make PREFIX=/usr/local/redis install
cd /usr/local/redis
启动Redis服务端 ./bin/redis-server
以配置文件启动Redis服务端 ./bin/redis-server ./redis.conf
启动Redis客户端 ./bin/redis-cli
启动Redis 客户端命令语法: redis-cli –h IP地址 –p 端口 //默认IP本机 端口6379
检测是否服务端启动 redis 127.0.0.1:6379> PING
客户端退出 shutdown
显示redis的情况 ps -ef |grep redis
杀死redis进程 kill -9 8169
错误 ./bin/redis-cli -h 127.0.0.1 -p 6379 -u wc19981220
报错: Invalid URI scheme 将-u换成-a即可
正确 ./bin/redis-cli -h 127.0.0.1 -p 6379 -a wc19981220
❺ linux 怎样安装redis
获取Redis
1、通过官网http://redis.io/获取稳定版源码包下载地址;
2、通过wget http://download.redis.io/releases/redis-3.0.2.tar.gz下载 源码包;
2
编译安装Redis
1、解压源码安装包,通过tar -xvf redis-3.0.2.tar.gz解压源码,速度相当快;
2、进入解压后的目录,执行make编译源码;
make命令执行完成后,会在src目录下生成6个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-mp、redis-sentinel。
3、执行make install安装,或者通过make PREFIX=/usr/local/redis install指定安装目录。这里默认安装,默认将之前生成的可执行文件拷贝到/usr/local/bin目录下;
END
配置运行
修改配置文件
1、将源码目录下redis配置文件redis.conf拷贝到/etc/redis目录下。
2、修改配置项,根据需要;如果不修改,使用默认配置也可以;
启动服务:
查看端口是否被占用:netstat
–ntlp
|grep 6379
方式一:通过命令redis-server 启动,可在命令后加上`&`号使redis以后台程序方式运行;
方式二:通过指定配置文件启动;redis-server /etc/redis/redis.conf
默认安装的路径已经加入环境变量中,可直接在命令行执行命令;
命令客户端检测链接
1、连接之前可以先检测服务是否启动;
2、测试启动 redis-cli ping 返回PONG,启动成功。
停止Redis:
关闭服务
redis-cli shutdown
如果非默认端口,可指定端口:
redis-cli -p 6380 shutdown
简单操作:
1、两种连接方式:
1:window DOS方式:tentel主机IP端口号(默认为127.0.0.1:6379)
2:linux客户端方式:redis-cli 主机IP 端口号(默认为127.0.0.1 6379)
2、命令行操作:
#redis-cli
redis 127.0.0.1:6379> set name clj
OK
redis 127.0.0.1:6379> get name
"clj"