一、安装gcc依赖
安装之前先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装
# yum install -y gcc
二、下载、解压、编译、安装
2.1 下载
下载redis安装包7.0.5是版本,更改可以下载指定版本,如果要下载到指定目录,可以cd切换目录后再下载。
# wget http://download.redis.io/releases/redis-7.0.5.tar.gz
2.2 解压
解压安装包
# tar -zxvf redis-7.0.5.tar.gz
2.3 编译
cd切换到redis解压目录下,执行编译
# cd redis-7.0.5
# make
2.2 安装
安装到指定目录,PREFIX为指定目录
# make install PREFIX=/usr/local/redis
三、启动
3.1 前台启动(不建议使用)
# cd /usr/local/redis/bin/
# ./redis-server
3.2 后台启动(建议使用)
从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录
# cp /redis-7.0.5/redis.conf /usr/local/redis/bin/
修改redis.conf配置文件
-- daemonize 的值从 no 修改成 yes
-- 如果找不到可以用 :/daemonize 查找,按n查找下一个
# vi /usr/local/redis/bin/redis.conf
手动启动
# ./redis-server redis.conf
-- 查看进程来确定redis是否启动成功,非必须
# ps -ef |grep redis
开机启动
每次手动启动关闭redis麻烦,直接注册为服务。
切换到/lib/systemd/system/目录,创建redis.service文件。命令如下:
# cd /lib/systemd/system/
# vim redis.service
复制粘贴以下内容
注意:ExecStart需要按照实际情况修改成自己的地址
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
设置开机启动
# systemctl daemon-reload
# systemctl start redis.service
# systemctl enable redis.service
说明:
服务启动不正常时可以尝试reboot重启服务器。
重启后还是报错,可尝试调整上面的redis.service文件,在After=network.target下增加
After=network-online.target
Wants=network-online.target
常用的服务命令
-- 开机自动启动
# systemctl enable redis.service
-- 启动redis服务
# systemctl start redis.service
-- 查看服务状态
# systemctl status redis.service
-- 停止服务
# systemctl stop redis.service
-- 取消开机自动启动(卸载服务)
# systemctl disabled redis.service
创建 redis 命令软链接
# ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis
-- 测试redis
[root@localhost ~]# redis
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
-- 如果后续配置requirepass 自定义密码,那么需要auth 密码才能连接
[root@localhost system]# redis
127.0.0.1:6379> auth 密码
OK
127.0.0.1:6379>
四、开放外部访问
4.1 redis配置
# vi /usr/local/redis/bin/redis.conf
-- 执行以上命令,修改以下内容。如果找不到配置项可以用 “:/配置项” 查找,按n查找下一个。
-- 绑定允许访问的ip(可以不设置)
#bind 127.0.0.1 -::1 改成 bind 0.0.0.0
-- 保护模式
protected-mode yes 改成 protected-mode no
-- 请求访问的密码
#requirepass 密码 改为 requirepass 自定义密码
4.2 防火墙端口配置
开启6379端口(–permanent永久生效,没有此参数重启后失效)
# firewall-cmd --zone=public --add-port=6379/tcp --permanent
-- 拓展关闭端口,不用执行
# firewall-cmd --permanent --zone=public --remove-port=8080/tcp
重启防火墙
# firewall-cmd --reload
查看 返回 yes 代表开启成功
# firewall-cmd --zone=public --query-port=6379/tcp
常用的防火墙命令
-- 查看防火墙状态,是否是running
# firewall-cmd --state
-- 重新载入配置,比如添加规则之后,需要执行此命令
# firewall-cmd --reload
-- 查看所有打开的端口
# firewall-cmd --zone=public --list-ports
-- 查看ftp服务是否支持,返回yes或者no
# firewall-cmd --query-service ftp
-- 临时开放ftp服务
# firewall-cmd --add-service=ftp
-- 永久开放ftp服务
# firewall-cmd --add-service=ftp --permanent
-- 永久移除ftp服务
# firewall-cmd --remove-service=ftp --permanent
-- 查看帮助
# firewall-cmd --help