Linux 安装redis过程

这篇博客详细介绍了在Linux环境下编译安装Redis的全过程,包括检查与安装gcc、下载Redis压缩包、编译、安装服务、配置文件复制以及启动服务端和客户端的步骤。
摘要由CSDN通过智能技术生成
{
    "Linux技能":
    {
        "vim命令":"打开文本,编辑文本,保存",
        "文件夹基本操作":"创建文件夹,解压缩文件,复制"
    },
    "通用技能":
    {
        "搜索":"从网络上搜索相关知识点"
    }
}

使用编译安装{Redis}

[热身.gcc].查看是否安装gcc

1.问:gcc是啥?(What)
{gcc}回答道:我是一个编译器,可以编译C语言...(省略N字)

2.问:为啥要安装gcc?(Why)
{Redis}回答道:我是用C语言编写的,而gcc可以编译我,正巧这篇文章就是讲的编译安装我...其实就是为了使用gcc的"make"命令.


[root@VM_0_12_centos ~]# rpm -qa|grep gcc*
libgcrypt-1.5.3-14.el7.x86_64
pkgconfig-0.27.1-4.el7.x86_64
libgcc-4.8.5-36.el7.x86_64
gcc-4.8.5-36.el7.x86_64

如果已经安装了,请看步骤{1.0}.

[热身.gcc].安装gcc

[root@VM_0_12_centos ~]# yum install gcc-c++

Loaded plugins: fastestmirror, langpacks
//省略N行...

Installed:
  gcc-c++.x86_64 0:4.8.5-39.el7
Dependency Installed:
  libstdc++-devel.x86_64 0:4.8.5-39.el7
Complete!

1.0[redis].从网上下载压缩包


#先创建一个目录,用来存放Redis压缩包
[root@VM_0_12_centos ~]# mkdir /usr/local/java/redis/
[root@VM_0_12_centos ~]# cd usr/lib/redis

#进去创建的redis文件夹下载Resis压缩包(redis版本可自选)
[root@VM_0_13_centos redis]$ wget https://mirrors.huaweicloud.com/redis/redis-5.0.5.tar.gz


#解压缩.
[zf@VM_0_13_centos redis]$ tar -zxvf redis-5.0.5.tar.gz

1.1[redis].编译


#进入文件夹
[zf@VM_0_13_centos redis]$ cd redis-5.0.5/

#编译(gcc善良登场)
[zf@VM_0_13_centos redis-5.0.5]$ make
#省略N行输出...
Hint: It's a good idea to run 'make test' ;)
make[1]: Leaving directory `/usr/lib/redis/redis-5.0.5/src'


1.2[redis].安装服务


#安装服务
[zf@VM_0_13_centos redis-5.0.5]$ make PREFIX=/usr/local/redis install

#检查服务是否安装成功
[zf@VM_0_13_centos redis-5.0.5]$ ls /usr/local/redis/bin/

redis-benchmark  redis-check-rdb  redis-sentinel
redis-check-aof  redis-cli        redis-server


1.3[redis].配置文件.复制


#先将解压缩目录下的配置文件复制到安装目录下
#[zf@VM_0_13_centos ~]$ ls usr/lib/redis/redis-5.0.5
#[zf@VM_0_13_centos ~]$ ls usr/local/redis/
#前两句ls命令,只是为了看下复制涉及的两个文件夹中都有些什么...
#可以理解为下载的压缩包为了咱们准备了一个默认的配置文件
[zf@VM_0_13_centos ~]$ cp usr/lib/redis/redis-5.0.5/redis.conf usr/local/redis/


 

1.[redis].服务端(redis-server).启动

终于到了这一步了.


#跳转到Redis安装目录
[zf@VM_0_13_centos ~]$ cd usr/local/redis/
#启动redis-server,并且指定配置文件
[zf@VM_0_13_centos redis]$ ./bin/redis-server ./redis.conf

#查看服务是否启动
[zf@VM_0_13_centos redis]$ ps -ef|grep redis
zf       19856     1  0 17:48 ?        00:00:00 ./bin/redis-server *:6379
zf       20053 21781  0 17:50 pts/3    00:00:00 grep --color=auto redis

1.6[redis].客户端(redis-cli)启动

其实到了步骤{1.5},将{Redis}启动起来后,{1.6}的内容都不属于此章了.


[zf@VM_0_13_centos redis]$ ./bin/redis-cli
#启动客户端可以添加的一些配置信息↓
#[zf@VM_0_13_centos redis]$ ./bin/redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> set "name" "zf"
OK
127.0.0.1:6379> exit
[zf@VM_0_13_centos redis]$ ./bin/redis-cli
127.0.0.1:6379> get "name"
"zf"
127.0.0.1:6379> exit
[zf@VM_0_13_centos redis]$ ./bin/redis-cli shutdown
[zf@VM_0_13_centos redis]$ ./bin/redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected>

 

  • 打开redis.cof
  • ###################################  NETWORK  ###################################
  • # 指定 redis 只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求

  • bind 127.0.0.1

  •  
  • #是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,

  • 拒绝外部访问。要是开启了密码和bind,可以开启。否则最好关闭,设置为no

  • protected-mode yes

  •  
  • #redis监听的端口号

  • port 6379

  •  
  • #此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度, 当然此值必须不大于Linux系统定义

  • 的/proc/sys/net/core/somaxconn值,默认是511,而Linux的默认参数值是128。当系统并发量大并且客户端

  • 速度缓慢的时候,可以将这二个参数一起参考设定。该内核参数默认值一般是128,对于负载很大的服务程序来说

  • 大大的不够。一般会将它修改为2048或者更大。在/etc/sysctl.conf中添加:net.core.somaxconn = 2048,

  • 然后在终端中执行sysctl -p

  • tcp-backlog 511

  •  
  • #此参数为设置客户端空闲超过timeout,服务端会断开连接,为0则服务端不会主动断开连接,不能小于0

  • timeout 0

  •  
  • #tcp keepalive参数。如果设置不为0,就使用配置tcp的SO_KEEPALIVE值,使用keepalive有两个好处:检测挂

  • 掉的对端。降低中间设备出问题而导致网络看似连接却已经与对端端口的问题。在Linux内核中,设置了

  • keepalive,redis会定时给对端发送ack。检测到对端关闭需要两倍的设置值

  • tcp-keepalive 300

  •  
  • #是否在后台执行,yes:后台运行;no:不是后台运行

  • daemonize yes

  •  
  • #redis的进程文件

  • pidfile /var/run/redis/redis.pid

  •  
  • #指定了服务端日志的级别。级别包括:debug(很多信息,方便开发、测试),verbose(许多有用的信息,

  • 但是没有debug级别信息多),notice(适当的日志级别,适合生产环境),warn(只有非常重要的信息)

  • loglevel notice

  •  
  • #指定了记录日志的文件。空字符串的话,日志会打印到标准输出设备。后台运行的redis标准输出是/dev/null

  • logfile /usr/local/redis/var/redis.log

  •  
  •  
  • #是否打开记录syslog功能

  • # syslog-enabled no

  •  
  • #syslog的标识符。

  • # syslog-ident redis

  •  
  • #日志的来源、设备

  • # sys

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值