centos7.7 mini安装Java环境(二)-redis

centos7.7 mini版本安装Java开发环境(redis)

软件下载

https://github.com/antirez/redis/releases #github下载最新版本
redis-5.0.7.tar.gz(我下载的是5.0.7)

参考博客:https://www.cnblogs.com/awakenedy/articles/9156086.html

安装依赖包

yum install -y gcc

解压压缩包

tar -zxvf redis-5.0.7.tar.gz
进入redis-5.0.7目录

安装

make    #编译
如果编译出错可以尝试 make MALLOC=libc(百度)
make install
[root@bogon redis-5.0.7]# make install
cd src && make install
make[1]: Entering directory `/home/hzm/safaware/redis-5.0.7/src'
    CC Makefile.dep
make[1]: Leaving directory `/home/hzm/safaware/redis-5.0.7/src'
make[1]: Entering directory `/home/hzm/safaware/redis-5.0.7/src'

Hint: It's a good idea to run 'make test' ;)

    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
make[1]: Leaving directory `/home/hzm/safaware/redis-5.0.7/src'

看到这个信息表上安装成功
redis安装目录在 /usr/local/bin
redis目录

启动redis

直接启动

[root@bogon redis-5.0.7]# redis-server 
23832:C 16 Dec 2019 03:11:53.184 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
23832:C 16 Dec 2019 03:11:53.184 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=23832, just started
23832:C 16 Dec 2019 03:11:53.184 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
23832:M 16 Dec 2019 03:11:53.186 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 5.0.7 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 23832
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

23832:M 16 Dec 2019 03:11:53.192 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
23832:M 16 Dec 2019 03:11:53.192 # Server initialized
23832:M 16 Dec 2019 03:11:53.192 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
23832:M 16 Dec 2019 03:11:53.192 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
23832:M 16 Dec 2019 03:11:53.193 * Ready to accept connections

#查看redis进程
ps -aux | grep redis
[root@bogon bin]# ps -aux | grep redis
root      23832  0.2  0.1 153900  2620 pts/0    Sl+  03:11   0:00 redis-server *:6379
root      24120  0.0  0.0 112712   960 pts/1    S+   03:17   0:00 grep --color=auto redis
查看redis监听情况
netstat -ltnp | grep 6379

redis-cli
# Keyspace
127.0.0.1:6379> set uname_hz huzhimin
OK
127.0.0.1:6379> get uname_hz
"huzhimin"

配置后台启动(阿里云不适用)

其他的配置太麻烦,用最简单的方式配置 配置都在安装包路径里面
找到之前的解压包redis-5.0.7/utils目录redis_init_script文件
把这个文件放到init.d目录,文件包含了启动配置的端口与启动配置文件地址,start 方法,stop方法,可以使用此文件直接启动与关闭redis

1、init.d 目录中存放的是一系列系统服务的管理(启动与停止)脚本。
2、用service命令可执行init.d目录中相应服务的脚本。
例:执行命令“service redis start”,可启动/etc/init.d/redis脚本

cp redis_init_script /etc/init.d/redis #自定义文件名称 主要用于做服务启动
cp redis.cnf /etc/redis/6379.cnf  # 安装目录的cnf拷贝到与redis_init_6379 配置一致的目录文件名一致
service redis start #启动redis 
service redis stop #停止redis

在这里插入图片描述

配置命令启动(阿里云)

==阿里云7.7 不支持service方式启动改成systemctl 方式了 ==
在/lib/systemd/system目录下创建一个脚本文件redis.service,里面的内容如下:

[Unit]
Description=Redis
After=network.target

[Service]
ExecStart=/usr/local/bin/redis-server /etc/redis/6379.conf  
ExecStop=/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown

[Install]
WantedBy=multi-user.target

[Unit] 表示这是基础信息
Description 是描述
After 是在那个服务后面启动,一般是网络服务启动后启动
[Service] 表示这里是服务信息
ExecStart 是启动服务的命令
ExecStop 是停止服务的指令
[Install] 表示这是是安装相关信息
WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。

systemctl reload-daemon  加载新的unit 配置文件
systemctl start redis  启动redts
systemctl stop redis 停止redis

远程连接redis

需要修改cnf的三个配置

protected-mode no #保护模式 (参数是为了禁止外网访问redis,如果启用了,则只能够通过lookback ip(127.0.0.1)访问Redis)
daemonize no     # 守护进程模式开启(后台启动)
bind127.0.0.1  #指定访问IP
requirepass  密码

配置开机启动(阿里云不适用)

chkconfig redis on #执行命令就可以 redis 与init.d目录里面的redis文件名一致

配置开机启动(阿里云)

== 阿里云7.7 不支持service方式启动改成systemctl 方式了==
centos7 所有开机启动的文件都需要放在这个目录下

创建软连接到启动目录
ln -s /lib/systemd/system/redis.service /etc/systemd/system/multi-user.target.wants/redis.service
//刷新配置
 systemctl daemon-reload   

成功后查看目录如下,这里包含了全部开机启动的程序在这里插入图片描述

开机启动

systemctl enable redis    加入开机启动
systemctl disable redis   禁止开机启动
systemctl status redis   查看状态

直接加入开机启动会提示报错说file exists,这时候就需要先systemctl disable redis 在重新加入开机启动。这是因为在systemctl enable (service名)时候,实际上是创建了一个链接,所以再起启动必须先清除掉

阿里云无法远程访问

阿里云linux安装完成redis,并且已经运行,检测6379端口,显示redis-server正在监听
在这里插入图片描述

最后发现必须在阿里云主机配置安全组规则,外部访问成功。

在这里插入图片描述

docker安装redis

docker 安装
https://yq.aliyun.com/articles/110806?spm=5176.8351553.0.0.548b1991C9PJGE
redis 版本号:在这里可以查看
https://hub.docker.com/_/redis

service docker start  启动docker
docker search redis    搜索一下redis的镜像
docker pull redis:5.0.7    这里可以用最新版 latest,也可以指定版本安装,这里我指定5.0.7
安装完成
查看镜像
[root@iZwz94sng278sg8566ye0tZ ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
redis               5.0.7               dcf9ec9265e0        4 weeks ago         98.2MB

启动镜像

docker run -p 6379:6379  -v /home/hzm/docker_redis/redis.conf:/etc/redis/redis.conf -v /home/hzm/docker_redis/data:/data -d redis:5.0.7 redis-server /etc/redis/redis.conf

命令说明:
-p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
–name redis 指定该容器名称, 默认为redis 可不用填写。
-v 挂载目录,规则与端口映射相同。
为什么需要挂载目录:个人认为docker是个沙箱隔离级别的容器,这个是它的特点及安全机制,不能随便访问外部(主机)资源目录,所以需要这个挂载目录机制。
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf
–appendonly yes 开启redis 持久化

注意

1 容器目录不可以为相对路径
2 redis.conf 中daemonize=NO。非后台模式,如果为YES 会的导致 redis 无法启动,因为后台会导致docker无任务可做而退出。

常用docker命令

附一些常用Docker命令,更多命令请访问:http://www.docker.org.cn/dockerppt/106.html

    docker ps 查看当前正在运行的容器
    docker ps -a 查看所有容器的状态
    docker start/stop id/name 启动/停止某个容
    docker images 查看本地镜像
    docker rm id/name 删除某个容器
    docker rmi id/name 删除某个镜像
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值