OASCloud-数据测试服务器-redis
History | |||||
NO. | Version | Contents | Time | Persion | Remarks |
1 | V1.0 | Create documents | 2019-07-01 | Qinfang Ye | |
OASCloud-数据测试服务器-redis1
1、 下载地址2
2、 解压编译3
3、 出现以下提示,则为成功3
4、 出现如下报错3
(1)错误13
(2)错误23
(3)错误34
(4)错误44
5、 设置redis自启动4
6、 启动出现如下问题5
(1)问题15
(2)问题25
7、 正常启动和关闭6
8、 测试连接是否通畅6
9、 自启动设置6
10、 设置外网访问6
11、 redis与应用程序连接8
- 下载地址
http://redis.io/download
#可选最新版本,或者按照研发服务器版本redis 5.0.4 - 解压编译
#进入redis-5.0.5目录执行make - 出现以下提示,则为成功
- 出现如下报错
(1)错误1
[root@localhost Redis]# make
cd src && make all
make[1]: Entering directory `/usr/local/Redis/src'
CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/usr/local/Redis/src'
make: *** [all] Error 2
#解决办法 :yum install gcc
(2)错误2
compilation terminated.
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/usr/local/Redis/src'
make: *** [all] Error 2
#解决办法 :vi src/.make-settings
#修改内容:OPT=-O2 -march=i686
(3)错误3
make[3]: Leaving directory `/usr/local/Redis/deps/jemalloc'
make[2]: Leaving directory `/usr/local/Redis/deps'
CC adlist.o
cc1: error: argument to ‘-O’ should be a non-negative integer, ‘g’, ‘s’ or ‘fast’
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/usr/local/Redis/src'
make: *** [all] Error 2
#解决办法:make CFLAGS="-march=x86-64"
(4)错误4
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/usr/local/Redis/src'
make: *** [test] Error 2
#解决办法:安装tcl
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
cd /usr/local/tcl8.6.1/unix/
./configure
make
make install - 设置redis自启动
# cd redis-5.0.5/utils
# cp redis_init_script /etc/init.d/redis_init_script
# mv /etc/init.d/redis_init_script /etc/init.d/redis_6379 #使用端口6379,为方便记忆修改名字
# vim /etc/init.d/redis_6379 #修改为REDISPORT=6379
# mkdir /etc/redis #存放redis的配置文件
# mkdir -p /var/redis/6379 #存放持久化文件
# cp redis.conf /etc/redis/6379.conf
修改6379.conf对应指定的位置,如下:
daemonizeyes#让redis以daemon进程运行
pidfile/var/run/redis_6379.pid #设置redis的pid文件位置
port6379#设置redis的监听端口号
dir /var/redis/6379设置持久化文件的存储位置
#启动
cd /etc/init.d
chmod 777 redis_6379
./redis_6379 start - 启动出现如下问题
(1)问题1
解决办法:rm -rf /var/run/redis_6379.pid
(2)问题2
解决办法:修改redis_6379文件
CLIEXEC=/usr/local/redis-5.0.5/src/redis-cli
EXEC=/usr/local/redis-5.0.5/src/redis-server - 正常启动和关闭
[init.d]# ./redis_6379 start
[src]# ./redis-cli -p 6379 shutdown - 测试连接是否通畅
./redis-cli -h 127.0.0.1 -p 6379 - 自启动设置
修改redis_6379,在#!/bin/sh下面,加上两行注释
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
接着将redis_6379注册系统服务:
chkconfig redis_6379 on - 设置外网访问
- 把redis的端口放到了防火墙计划中(centos7 防火墙操作)
#基本指令
启动:# systemctl start firewalld
查看状态:# systemctl status firewalld 或者 firewall-cmd --state
停止:# systemctl disable firewalld
禁用:# systemctl stop firewalld
#检查防火墙:
systemctl status firewalld.service
firewall-cmd --state
#查看当前开放端口
firewall-cmd --list-services
#查看还有哪些服务可以打开
firewall-cmd --get-services
#查看所有打开端口
firewall-cmd --zone=public --list-ports
#更新防火墙规则
firewall-cmd --reload
#添加一个服务到firewalld
firewall-cmd --add-service=http //http换成想要开放的service,暂时开放
firewall-cmd --permanent --add-service=http //永久开放
#如果要添加的端口并没有服务对应
cd /usr/lib/firewalld/services
查看redis的文件
存在redis.xml
开启一个端口
firewall-cmd --permanent --add-service=redis
重启防火墙
systemctl restart firewalld - 更改配置文件redis.conf是不对的,已经更改为/etc/redis/6379.conf
bind 127.0.0.1
protected-mode yes
更改为
# bind 127.0.0.1
protected-mode no
重启生效
(3)出现以下问题
#解决办法:
firewall-cmd --zone=public --add-port=6379/tcp --permanent
systemctl restart firewalld
firewall-cmd --zone=public --list-ports
开放端口后重新登陆
- redis与应用程序连接
代码关联redis的连接,可以通过Apollo进行配置。