Linux/Centos7如何安装redis,配置redis自启动

今天是2020.2.3是返程第一天,由于疫情的原因,广东大部分企业都采用远程办公的方式,我们也一样,上午开了一上午的会,下午没什么事就来折腾自己的服务器,因为有一台服务器快要到期了,所以需要迁移上面的网站,所以新的服务器需要安装java环境,之前一直没有安装redis,结果启动的时候报错,所以抽空给安装了redis并详细记录了安装过程,希望能帮助其他人。

第一步:登录centos服务器,并创建redis目录

我的目录路径是/opt/local/java
使用命令mkdir redis创建redis目录,切换到redis目录下
cd /opt/local/java/redis

第二步:下载redis安装包

下载路径如下:

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

[root@iZwz991stxdwj560bfmadtZ local]# wget http://download.redis.io/releases/redis-4.0.6.tar.gz
--2020-02-03 12:35:12-- http://download.redis.io/releases/redis-4.0.6.tar.gz
Resolving download.redis.io (download.redis.io)... 109.74.203.151
Connecting to download.redis.io (download.redis.io)|109.74.203.151|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1723533 (1.6M) [application/x-gzip]
Saving to: ‘redis-4.0.6.tar.gz’

100%[==========================================================================================================>] 1,723,533 608KB/s in 2.8s

2020-02-03 12:35:15 (608 KB/s) - ‘redis-4.0.6.tar.gz’ saved [1723533/1723533]

第三步:解压压缩包

[root@iZwz991stxdwj560bfmadtZ local]# tar -zxvf redis-4.0.6.tar.gz

第四步:yum安装redis所需gcc依赖

[root@iZwz991stxdwj560bfmadtZ local]# yum install gcc

第五步:跳转到redis解压目录下

[root@iZwz991stxdwj560bfmadtZ local]# cd redis-4.0.6

第六步:编译安装

[root@iZwz991stxdwj560bfmadtZ redis-4.0.6]# make MALLOC=libc

然后再切换到目录src文件下,执行安装命令:

[root@iZwz991stxdwj560bfmadtZ redis-4.0.6]# cd src && make install
    CC Makefile.dep

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

    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install

看到上述信息,说明已经安装成功,然后我们需要进行启动redis,启动有三种方式:

1、直接启动redis

切换到src目录下/opt/local/java/redis/redis-4.0.6/src

使用命令./redis-server,看到如下信息打印,说明启动成功

[root@iZwz991stxdwj560bfmadtZ src]# ./redis-server
18685:C 13 Dec 12:56:12.507 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
18685:C 13 Dec 12:56:12.507 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=18685, just started
18685:C 13 Dec 12:56:12.507 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 4.0.6 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 18685
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

18685:M 13 Dec 12:56:12.508 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
18685:M 13 Dec 12:56:12.508 # Server initialized
18685:M 13 Dec 12:56:12.508 # 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.
18685:M 13 Dec 12:56:12.508 # 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.
18685:M 13 Dec 12:56:12.508 * Ready to accept connections

如上图:redis启动成功,但是这种启动方式不太好,需要一直打开窗口,不能进行其他操作,不太方便。

按 ctrl + c可以关闭窗口。

2、以后台进程方式启动redis

切换到/opt/local/java/redis/redis-4.0.6目录下,找到redis.conf文件,使用vim命令进行编辑

找到

daemonize no

将no改成yes

daemonize yes

修改完成后,按ctrl+c退出编辑,再使用:wq保存退出。

修改完成后,进行启动操作

./redis-server /opt/local/java/redis/redis-4.0.6/redis.conf

[root@iZwz991stxdwj560bfmadtZ src]# ./redis-server  /opt/local/java/redis/redis-4.0.6/redis.conf
18713:C 13 Dec 13:07:41.109 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
18713:C 13 Dec 13:07:41.109 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=18713, just started
18713:C 13 Dec 13:07:41.109 # Configuration loaded

关闭进程操作,使用ps -aux | grep redis查看redis进程。

[root@iZwz991stxdwj560bfmadtZ src]# ps -aux | grep redis
root     18714  0.0  0.1 141752  2008 ?        Ssl  13:07   0:00 ./redis-server 127.0.0.1:6379
root     18719  0.0  0.0 112644   968 pts/0    R+   13:09   0:00 grep --color=auto redis

kill进程

[root@iZwz991stxdwj560bfmadtZ src]# kill 18714

3、设置redis开机自启动

1、在/etc目录下新建redis目录

mkdir redis

[root@iZwz991stxdwj560bfmadtZ etc]# mkdir redis

 

2、将/usr/local/redis-4.0.6/redis.conf 文件复制一份到/etc/redis目录下,并命名为6379.conf

[root@iZwz991stxdwj560bfmadtZ redis]# cp /opt/local/java/redis/redis-4.0.6/redis.conf /etc/redis/6379.conf

 

3、将redis的启动脚本复制一份放到/etc/init.d目录下

[root@iZwz991stxdwj560bfmadtZ init.d]# cp /opt/local/java/redis/redis-4.0.6/utils/redis_init_script /etc/init.d/redisd

 

4、设置redis开机自启动

先切换到/etc/init.d目录下

然后执行自启命令

[root@iZwz991stxdwj560bfmadtZ init.d]# chkconfig redisd on
service redisd does not support chkconfig

 

看结果是redisd不支持chkconfig

解决方法:

使用vim编辑redisd文件,在第一行加入如下两行注释,保存退出

# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database

 

注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。

 

再次执行开机自启命令,成功

[root@iZwz991stxdwj560bfmadtZ init.d]# chkconfig redisd on

 

现在可以直接已服务的形式启动和关闭redis了

启动:

systemctl redisd start

[root@izwz991stxdwj560bfmadtz ~]# systemctl redisd start
Starting Redis server...
2288:C 13 Dec 13:51:38.087 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2288:C 13 Dec 13:51:38.087 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=2288, just started
2288:C 13 Dec 13:51:38.087 # Configuration loaded

 

关闭:

方法1:systemctl redisd stop

[root@izwz991stxdwj560bfmadtz ~]# systemctl redisd stop
Stopping ...
Redis stopped

 

分享到:

未经允许不得转载:just.do.it专注java开发 » Linux/Centos7如何安装redis,配置redis自启动

赞 (1) 打赏

评论 0

评论前必须登录!

登陆 注册

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Optimized by WPJAM Basic