参考地址:http://www.cnblogs.com/EmptyFS/p/6595968.html
多数文字来源:http://www.cnblogs.com/EmptyFS/p/6595968.html
准备工作:
首先升级或安装一下pip(新安装的系统还没有pip需要安装或升级,默认一般是是使用pip2进行)
前提:
curl https://bootstrap.pypa.io/get-pip.py | python
yum intsall wget
第1步:定位对应下载安装包目录
mkdir -p /data/bak
cd /data/bak/
第2步:下载安装包
登录http://download.redis.io/releases/ 选择需要安装的版本并下载
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
第3步:编译安装
创建redis安装文件夹:
mkdir /usr/local/redis
解压缩安装包:
tar -zxvf redis-3.2.8.tar.gz
进入安装包文件夹:
cd redis-3.2.8
执行安装命令:
make PREFIX=/usr/local/redis/ install
(1)提示make[1]: Entering directory `/root/redis-2.8.17/src‘
CC adlist.o,
原因是:
未安装gcc,使用命令安装gcc:
yum install gcc
(2)提示make
解决:
将make改为make MALLOC=libc,推测是因为编译库的问题。
命令:make MALLOC=libc PREFIX=/usr/local/redis/ install
PS:上面安装命令执行完成,/usr/local/redis/目录下就有个bin目录,里面放的是redis服务相关的可执行命令
复制redis配置文件到指定目录(这一步也很关键,需要有配置文件):
cp redis.conf /usr/local/redis
其他补充:
cd /usr/local/src
wget http://download.redis.io/releases/redis-3.0.5.tar.gz
tar xf redis-3.0.5.tar.gz
cd redis-3.0.5
make
make install
#(可用make PREFIX=/usr/local/redis install 安装到指定的路径下面 )
cp utils/redis_init_script /etc/init.d/redis
chmod a+x /etc/init.d/redis
mkdir /etc/redis
cp redis.conf /etc/redis/
第4步:配置远程访问
修改配置文件:/usr/local/redis/redis.conf
bind 127.0.0.1 ---->bind 0.0.0.0
注:redis服务访问限制设置。使用127.0.0.1表示只能本机访问;如果用的是服务器在局域网里的ip:192.168.1.128,即表示局域网内的ip都可以访问;如果使用0.0.0.0由表示所有地址都可以访问。需要绑定多个时,可以添加多个bind xxx.xxx.xxx.xxx
daemonize no ----->daemonize yes
注:PS:daemonize no 这个修改为daemonize yes 开启守护进程
logfile ''----->logfile /data/log/redis.log
注:logfile ''' .修改日志保存路径
dir ./ ----->dir /usr/local/redis/data #配置持久化文件存放位置
注:dir ./ 这里需要修改为dir /usr/local/redis/data 不然redis数据会存储到root文件夹下面
requirepass xxxxx ----->requirepass 你设置的远程连接的密码信息
注:随便找个位置增加requirepass xxxxx,可以增加访问redis访问密码,如果你的redis对外网开放,这个密码一样要足够长足够复制,不然以redis的访问速度,比较容易被人破解
maxmemory 1024M
注:可以增加maxmemory 1024M来限制redis占用内容大小,也可以不限制
第4步:修改完成后,创建redis数据存储文件夹
mkdir /usr/local/redis/data
第5步:启动redis服务端(启动时指定配置文件)
/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
ps -ef |grep redis # 查看启动情况
第6步:处理防火墙或开启端口6379
PS:生产环境上一般不建议直接的关闭防火墙
systemctl stop firewalld #关闭防火墙
systemctl enable firewalld #开机启用防火墙
systemctl start firewalld #开启防火墙
firewall-cmd --add-service=redis --permanent #开放redis 服务
firewall-cmd --zone=public --add-port=6379/tcp --permanent #或者可以直接添加端口
firewall-cmd --reload # 重载防火墙
firewall-cmd --list-ports #查看占用端口
第7步:使用客户端进行远程连接
注意事项:
线上环境一般不会开启redis的远程,不然容易被别人拿来挖矿!
详情可查看:https://www.jianshu.com/p/8c8f1b059a22
========================================================
补充:
生成软连接:
ln -s /usr/local/redis/bin/redis-server /usr/bin/redis-server
ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis-cli
启动服务
redis-server /usr/bin/redis-server
关闭服务
redis-cli shutdown
客户端启动
redis-cli
========================================================
其他配置修改:
Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize yes
PS:如果Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
pidfile /var/run/redis.pid
开启aof持久化
appendonly yes
appendfsync everysec
绑定的主机地址或开启远程访问
bind 0.0.0.0
把redis安装为服务,设置开机启动
vim /lib/systemd/system/redis.service
加入以下内容:
[Unit]
Description=redis service
Wants=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
[Install]
WantedBy=multi-user.target
重新载入
systemctl daemon-reload
设置开机启动
systemctl enable redis
启动redis
systemctl start redis
开启防火墙的3306端口
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
timeout 300
指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
loglevel verbose
修改数据库的数量,reidis默认数据库为0,可以使用SELECT <dbid>连接上指定数据库id
databases 16
指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
save