CentOS7安装redis并配置外网可访问(局域网可参考)
1、安装gcc编辑器
安装redis需要依赖gcc环境,执行如下命令安装:
yum install -y gcc
如果机器没有网络的话,可以参考这篇文章:
2、下载redis安装包
redis官网:https://redis.io/download
提供一下我的6.2.1安装包:https://niceyoo.lanzous.com/itKBqmx8omj
下载后上传至 CentOS ,比如上传至 /usr/local/
3、解压并编译安装redis
指令命令如下:
1、进入安装包目录
cd /usr/local/
2、解压安装包
tar -zxvf redis-6.2.1.tar.gz
3、进入解压后的redis目录并编译
cd redis-6.2.1
make
4、安装至指定目录
将redis安装至指定目录,可以自行修改路径,如下以 /usr/local/redis
为例:
make install prefix=/usr/local/redis
4、启动redis
启动 redis 有两种方式,一种是前台界面启动,只要关闭界面就关闭了,另一种是后台启动。
4.1、前台界面启动
进入 redis 安装目录的 bin 目录:
cd /usr/local/redis/bin
此时,只要执行如下命令就可以启动了:
./redis-server
启动截图如下:
此时有个问题就是,并不知道启动的配置文件在哪...
其实我们可以直接通过 find 命令来查一下:
find / -name 'redis.conf'
结果如下:
前台启动方式不太常用,只要关了界面,redis就停了。
4.2、后台服务启动
我们从之前解压后的安装包中复制一份 redis.conf 文件到 redis 安装目录中。
cp /usr/local/redis-6.2.1/redis.conf /usr/local/redis/bin/
然后修改 redis.conf 配置文件的线程模式参数:
vi /usr/local/redis/bin/redis.conf
PS:vi 快捷键,按一下 /
,之后输入【关键字】即可查询参数。
主要修改 daemonize
对应的值为 yes
1、修改之前
daemonize no
2、修改之后
daemonize yes
关于这个参数的取值解释:
- yes:redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
- no:当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。
修改完,保存退出。
执行如下命令再次启动 redis:
./redis-server redis.conf
至此redis就以后台方式启动了。
5、设置外网可访问
默认的配置文件是不支持外网访问的,接下来修改外网访问的参数。
还是修改配置文件:
vi /usr/local/redis/bin/redis.conf
找到下面这三个参数:
- bind 127.0.0.1(绑定允许访问的ip)
- protected-mode yes(保护模式开)
- #requirepass yourpassword (请求访问的密码)
一二项是组合项,尤为重要,第三项就是设置密码,在一定程度上对服务区的保护。
修改为如下:
- #bind 127.0.0.1
- protected-mode no
- requirepass 你的密码
修改后,保存退出。
6、注册redis服务
每次启动关闭redis甚是麻烦,不如直接注册为服务。
执行如下命令创建redis服务:
vi /etc/systemd/system/redis.service
添加如下命令:
[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
其中 ExecStart 参数对应的安装 Redis 目录下的 redis-server,配置文件同上。
设置开机启动:
systemctl daemon-reload
systemctl start redis.service
systemctl enable redis.service
7、常用的服务命令
启动redis服务
systemctl start redis.service
停止redis服务
systemctl stop redis.service
重新启动服务
systemctl restart redis.service
查看服务当前状态
systemctl status redis.service
设置开机自启动
systemctl enable redis.service
停止开机自启动
systemctl disable redis.service