阅读更多
一、安装gcc
1、Redis在linux上的安装首先必须先安装gcc,这个是用来编译redis的源文件的。首先需要先切换的到root用户:
[cheny@[3~]$ su
Password:
[root@p3]#
2、然后开始安装gcc:
[root@p3/]# yum install gcc-c++
//这个命令是在线安装的,所以在这之前你的VM必须能够上网,需要在 VM中把网卡设置成NAT模式 ,因为我使用的是centos,在网络设置中需要把网卡开启,反正我在装完系统之后它是默认关闭的
3、之后便会出现下载文件界面:
Install 1 Package (+8 Dependent packages)
4、会出现2次确认界面,输入y即可
Total download size: 40 M
Installed size: 84 M
Is this ok [y/d/N]: y
Downloading packages:
出现如下代码即是安装成功:
Installed:
gcc-c++.x86_64 0:4.8.5-28.el7_5.1
Dependency Installed:
cpp.x86_64 0:4.8.5-28.el7_5.1 gcc.x86_64 0:4.8.5-28.el7_5.1 glibc-devel.x86_64 0:2.17-222.el7 glibc-headers.x86_64 0:2.17-222.el7 kernel-headers.x86_64 0:3.10.0-862.3.2.el7 libmpc.x86_64 0:1.0.1-3.el7 libstdc++-devel.x86_64 0:4.8.5-28.el7_5.1
mpfr.x86_64 0:3.1.1-4.el7
Complete!
下载redis源代码 官网 https://redis.io/download
然后放到自己建的目录下,解压redis的源文件
直接连网下载方式
$ wget http://download.redis.io/releases/redis-4.0.10.tar.gz
$ tar xzf redis-4.0.10.tar.gz
$ cd redis-4.0.10
$ make
切换目录 解压redis
[root@p3 /]# cd lmc
[root@p3 lmc]# tar zxvf redis-4.0.10.tar.gz
1、进入redis的解压目录.
root@p3 lmc]# cd redis-4.0.10
2、使用make命令编译
[root@p3 redis-4.0.10]# make
出现如下信息 编译成功 提示我们测试
CC rand.o
CC memtest.o
CC crc64.o
CC bitops.o
CC sentinel.o
CC notify.o
CC setproctitle.o
CC blocked.o
CC hyperloglog.o
CC latency.o
CC sparkline.o
CC redis-check-rdb.o
CC redis-check-aof.o
CC geo.o
CC lazyfree.o
CC module.o
CC evict.o
CC expire.o
CC geohash.o
CC geohash_helper.o
CC childinfo.o
CC defrag.o
CC siphash.o
CC rax.o
LINK redis-server
INSTALL redis-sentinel
CC redis-cli.o
LINK redis-cli
CC redis-benchmark.o
LINK redis-benchmark
INSTALL redis-check-rdb
INSTALL redis-check-aof
Hint: It's a good idea to run 'make test' ;)
make[1]: Leaving directory `/lmc/redis-4.0.10/src'
3、进入解压的src目录下
[root@p3 redis-4.0.10]# cd src
4、运行make test测试是否可以安装
[root@p3 src]# make test
CC Makefile.dep
You need tcl 8.5 or newer in order to run the Redis test
make: *** [test] Error 1
这里发现有错误 TCL(Tool Command Language)工具脚本语言,是Linux内的一种语言包。,这里需要先安装tcl。
先切换一下目录 我这里与redis同一目录 联网下载方式
[root@p3 lmc]# wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
这里是下载的提示
Connecting to jaist.dl.sourceforge.net (jaist.dl.sourceforge.net)|150.65.7.130|:443... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 8755700 (8.3M), 7150068 (6.8M) remaining [application/x-gzip]
Saving to: ‘tcl8.6.1-src.tar.gz’
如果不是上面这种方式的话,要先从官网下
1、先去这里下载:
http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
2、然后将其拷贝至虚拟机
3、然后解压对于.tar.gz的后缀文件可以使用tar zxvf 。。。.tar.gz解压
tar zxvf tcl8.6.1-src.tar.gz
4、安装 Tcl
为编译 Tcl 做准备:
cd 到tcl文件夹里
[root@p3 lmc]# cd tcl8.6.1/
cd unix
[root@p3 tcl8.6.1]# cd unix/
./configure
[root@p3 unix]# ./configure
编译软件包:
[root@p3 unix]# make
安装软件包:
[root@p3 unix]# make install
这个时候在命令行就可以输入tclsh进入tcl解释器
tcl就可以使用了。
继续我们的redis安装
4 再次测试make test 切换到redis安装目录的src目录下
这里反正检查的一大堆,都是绿色的ok。这就可以了
105 seconds - integration/replication-psync
\o/ All tests passed without errors!
Cleanup: may take some time... OK
5、安装 前面都是为编译安装作准备,
[root@p3 src]# make PREFIX=/usr/local/redis install
[root@p3 src]# make PREFIX=/usr/local/redis install
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
安装成功!
[root@p3 local]# cd redis
[root@p3 redis]# ll
total 0
drwxr-xr-x 2 root root 134 Jun 14 14:50 bin
[root@p3 redis]# ll
total 0
drwxr-xr-x 2 root root 134 Jun 14 14:50 bin
[root@p3 redis]# cd bin
[root@p3 bin]# ll
total 21860
-rwxr-xr-x 1 root root 2451208 Jun 14 14:50 redis-benchmark
-rwxr-xr-x 1 root root 5768640 Jun 14 14:50 redis-check-aof
-rwxr-xr-x 1 root root 5768640 Jun 14 14:50 redis-check-rdb
-rwxr-xr-x 1 root root 2617232 Jun 14 14:50 redis-cli
lrwxrwxrwx 1 root root 12 Jun 14 14:50 redis-sentinel -> redis-server
-rwxr-xr-x 1 root root 5768640 Jun 14 14:50 redis-server
[root@p3 bin]#
都是一个个工具命令
6 把解压的redis路径下的redis.conf文件拷贝到安装路径下面
[root@p3 redis-4.0.10]# ll
total 308
-rw-rw-r-- 1 root root 162174 Jun 13 19:02 00-RELEASENOTES
-rw-rw-r-- 1 root root 53 Jun 13 19:02 BUGS
-rw-rw-r-- 1 root root 1815 Jun 13 19:02 CONTRIBUTING
-rw-rw-r-- 1 root root 1487 Jun 13 19:02 COPYING
drwxrwxr-x 6 root root 192 Jun 14 14:22 deps
-rw-rw-r-- 1 root root 11 Jun 13 19:02 INSTALL
-rw-rw-r-- 1 root root 151 Jun 13 19:02 Makefile
-rw-rw-r-- 1 root root 4223 Jun 13 19:02 MANIFESTO
-rw-rw-r-- 1 root root 20543 Jun 13 19:02 README.md
-rw-rw-r-- 1 root root 58766 Jun 13 19:02 redis.conf
-rwxrwxr-x 1 root root 271 Jun 13 19:02 runtest
-rwxrwxr-x 1 root root 280 Jun 13 19:02 runtest-cluster
-rwxrwxr-x 1 root root 281 Jun 13 19:02 runtest-sentinel
-rw-rw-r-- 1 root root 7606 Jun 13 19:02 sentinel.conf
drwxrwxr-x 3 root root 8192 Jun 14 14:25 src
drwxrwxr-x 10 root root 167 Jun 13 19:02 tests
drwxrwxr-x 8 root root 4096 Jun 13 19:02 utils
[root@p3 redis-4.0.1]# cp redis.conf /usr/local/redis
[root@p3 redis-4.0.1]# cd /usr/local/redis
[root@p3 redis]# ls
bin redis.conf
到这里redis已经安装成功了。
7、启动redis
第一种方法:进入安装路径下的bin 安装目录下的了bin目录 前台启动
-rwxr-xr-x 1 root root 2451208 Jun 14 14:50 redis-benchmark
-rwxr-xr-x 1 root root 5768640 Jun 14 14:50 redis-check-aof
-rwxr-xr-x 1 root root 5768640 Jun 14 14:50 redis-check-rdb
-rwxr-xr-x 1 root root 2617232 Jun 14 14:50 redis-cli
lrwxrwxrwx 1 root root 12 Jun 14 14:50 redis-sentinel -> redis-server
-rwxr-xr-x 1 root root 5768640 Jun 14 14:50 redis-server
[root@p3 bin]# ./redis-server
30880:M 14 Jun 15:04:24.803 * Increased maximum number of open files to 10032 (it was originally set to 1024).
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 4.0.10 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 30880
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
第二种方法:
后端启动
1、首先编辑redis.conf
[root@p3 redis]# vim redis.conf
2、找到daemonize no将其改为yes(在vim中插入数据按键盘上的i或者insert)
3、按esc退出insert模式,再按:,并且输入wq。代表保存并且退出
再次启动
[root@p3 redis]# ./bin/redis-server ./redis.conf
//这里加载配置文件
30909:C 14 Jun 15:13:31.462 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
30909:C 14 Jun 15:13:31.463 # Redis version=4.0.10, bits=64, commit=00000000, modified=0, pid=30909, just started
30909:C 14 Jun 15:13:31.463 # Configuration loaded
可以通过
ps -ef | grep -i redis
来查看是否启动
关闭redis
[root@p3 redis]# ./bin/redis-cli shutdown
九、简单的使用
//首先链接客户端
[root@localhost redis]# ./bin/redis-cli
//检查网络是否可以
127.0.0.1:6379> ping
PONG
//设置一个键值对
127.0.0.1:6379> set name cheny
OK
//获取刚刚设置的键值对
127.0.0.1:6379> get name
"cheny"
//查看所有的键
127.0.0.1:6379> keys *
1) "name"
//删除name这个键
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379>
最后踩坑
远程连接不上虚拟机
第一步:在自己的本机外面试下能不能连接上虚拟机,打开cmd,使用 ping 192.168.65.128 (192.168.65.128这个为虚拟机的ip地址 查看虚拟机的ip地址:命令 ifconfig)
如果能ping的通,这个没问题,表示外部可以访问得到。访问不到可以,把虚拟机的防火墙给关了,最省事,命令: service iptables stop
第二步:在redis的配置文件(redis.conf)里面是否设置了requirepass 表示连接的密码,如果没有设置,不好意思,连接不上
第三步: 在redis的配置文件里面,是否把bind 127.0.0.1 给注释掉,如果没有,连接不上
以上这些你都做了,应该就没有问题了
如果还是连接不上,你首先在你虚拟机里面登录上redis的客户端 进入到src目录层级下面。
和启动redis一样,命令: ./redis-cli
进入到客户端之后:命令:auth 123456(你设置的密码)
设置密码这关很重要, 其它防火墙端口开放都尝试过
a) iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT
#允许6379端口
b) service iptables save #保存iptables规则
如果前面三步能搞定,最后一步就可以省去