redis总结01——在centos7.x上安装redis并设置为开机自启

一 安装

1.1 下载源文件

本次安装选择版本号为:4.0.14

wget http://download.redis.io/releases/redis-4.0.14.tar.gz

使用命令解压,并重命名为redis

tar -xzvf redis-4.0.14.tar.gz
mv redis-4.0.14 redis

1.2 编译安装redis源文件

编译前,需要配置编译工具

yum install gcc gcc-c++

然后进入redis文件夹下,进行编译时,设置MALLOC环境变量为libc

make MALLOC=libc

完成之后,我们进入src目录下,查看变编译的结果

cd src
ls -al

内容如下:
在这里插入图片描述
其中,redis-server为服务端,redis-cli为客户端
可以直接运行redis

./redis-server

还可以指定redis的配置文件运行,默认的配置文件在redis这个目录下

./redis-server /home/centos/redis/redis.conf

开启redis服务后,在另一个终端中打开客户端,就可以进行数据的存取了

[centos@localhost src]$ ./redis-cli
127.0.0.1:6379> ping 
PONG
127.0.0.1:6379> set jaychou singer
OK
127.0.0.1:6379> get jaychou
"singer"
127.0.0.1:6379> 

1.3 安装redis

以下内容,参考redis的github官方仓库
重新进入redis这个目录下:

make install

使用make install命令,进行安装。这个过程会将编译好的可执行文件,放到指定的目录下(Makefile文件确定)。默认的位置为,/usr/local/bin
当然也可以指定安装位置,使用

make PREFIX=自己设置的路径 install

这里,选择默认的安装位置,即/usr/local/bin/。同时可以将配置文件也放到这个目录下。
安装成功之后,如下:

[root@localhost src]# ll /usr/local/bin/redis-server
-rwxr-xr-x. 1 root root 3647648 Nov 24 23:17 /usr/local/bin/redis-server
[root@localhost src]# ll /usr/local/bin/
total 11608
-rwxr-xr-x. 1 root root  353608 Nov 24 23:17 redis-benchmark
-rwxr-xr-x. 1 root root 3647648 Nov 24 23:17 redis-check-aof
-rwxr-xr-x. 1 root root 3647648 Nov 24 23:17 redis-check-rdb
-rwxr-xr-x. 1 root root  519816 Nov 24 23:17 redis-cli
-rw-r--r--. 1 root root   58767 Nov 25 00:00 redis.conf
lrwxrwxrwx. 1 root root      12 Nov 24 23:17 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 3647648 Nov 24 23:17 redis-server

目前,我们已经完成了redis的安装整个过程!

二 设置开机自启

Systemd是系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其它进程。所以我们可以创建Systemd服务,达到开机自启的目的。
Systemd服务文件以.service结尾,比如现在要建立redis为开机启动,如果用yum install命令安装的,yum命令会自动创建redis.service文件,直接用命令systemcel enable redis.service设置开机启动即可

1 在系统目录下创建redis.service文件

vim /etc/systemd/system/redis.service

然后写入以下内容:

[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/redis-server /usr/local/redis/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

注意ExecStart要redis的安装路径
解释:
[Unit] 区块通常是配置文件的第一个区块,用来定义 Unit 的元数据,以及配置与其他 Unit 的关系。

  • Description:简要描述该服务
  • After:如果该字段指定的 Unit 也要启动,那么必须在当前 Unit 之前启动。如,After=network.target,表示在启动redis.service之前,必须启动network.target

[Service] 区块用来 Service 的配置,只有 Service 类型的 Unit 才有这个区块。

  • Type:定义启动时的进程行为
  • Type=forking:以 fork 方式从父进程创建子进程,创建后父进程会立即退出
  • ExecStart:启动当前服务的命令。即,在这里为加载配置文件启动redis
  • PrivateTmp=True表示给服务分配独立的临时空间

[Install] 通常是配置文件的最后一个区块,用来定义如何启动,以及是否开机启动。

  • WantedBy=multi-user.target 运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

2 重载所有修改过的配置文件

因为我们时添加了一个新的配置文件,所以这一步,千万不能省略。每次修改服务文件时,也需要重新执行该命令!

systemctl daemon-reload

3 启动redis服务

systemctl start redis.service
systemctl status redis.service # 查看服务运行的状态

在这里插入图片描述

4 将redis服务设置为添加开机自启

systemctl enable redis.service

在这里插入图片描述

5 尝试重启后,看有没有开机自启

到此成功完成!
常见的systemctl命令如下:
#systemctl is-enabled xxx.service #查询服务是否开机启动
#systemctl enable xxx.service #开机运行服务
#systemctl disable xxx.service #取消开机运行
#systemctl start xxx.service #启动服务
#systemctl stop xxx.service #停止服务
#systemctl restart xxx.service #重启服务
#systemctl reload xxx.service #重新加载服务配置文件
#systemctl status xxx.service #查询服务运行状态
#systemctl --failed #显示启动失败的服务

参考文档

1 https://github.com/antirez/redis
2 make和make install的区别
3 Systemd服务配置文件详解
4 systemctl命令总结
5 安装参考

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值