Linux环境下部署redis教程详解

2022-04-22 10:09:56 浏览数 (1)

部署redis

一、 服务器资源

服务名称:Linux服务器

IP:[请查看资源分配文档]

操作系统:CentOS 6.9 x64

二、下载redis 压缩包

下载地址:redis.io

这里下载的redis-5.0.5.tar.gz并上传到/opt/tools目录下

三、对压缩包进行解压

代码语言:javascript复制
# cd /opt/tools
代码语言:javascript复制
# tar -zxvf redis-5.0.5.tar.gz

四、解压后进行编译

代码语言:javascript复制
# cd /opt/tools/redis-5.0.5/
代码语言:javascript复制
# make

make编译时出错:   

cc:未找到命令

原因:系统缺少gcc,安装gcc即可。

安装命令:yum -y install gcc automake autoconf libtool make

安装完gcc编译redis时又如果出现以下错误:

代码语言:javascript复制
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1

原因:分配器allocator会根据MALLOC变量去建立Redis ,默认不是libc而是jemalloc

解决办法:使用以下命令来编译

代码语言:javascript复制
# make MALLOC=libc

五、编译后安装

代码语言:javascript复制
# cd /opt/tools/redis-5.0.5/src
代码语言:javascript复制
# make install PREFIX=/opt/app/redis

六、设置redis目录结构

安装成功后,下面对Redis 进行部署

首先为了方便管理,将Redis文件中的conf配置文件和常用命令移动到统一文件中,安装目录下缺少bin和etc目录,需要拷贝安装包里的文件

a)创建bin和etc文件夹

代码如下:

代码语言:javascript复制
# mkdir -p /opt/app/redis/etc

b)执行Linux文件移动命令:

复制代码代码如下:

代码语言:javascript复制
# cd /opt/tools/redis-5.0.5

# cp redis.conf /opt/app/redis/etc/

# cd src/

# cp mkreleasehdr.sh /opt/app/redis/bin/

七、配置redis

代码语言:javascript复制
# cd /opt/app/redis/etc/

# vi redis.conf

编辑redis.conf文件

a). 将daemonize属性改为yes(表明需要在后台运行)

b). 搜索requirepass关键字,定位到#requirepass foobared一行。设置密码的方法就是去掉注释的#,把foobared替换成自己的密码即可:redis12qw!@P@ssw0rd

c). 修改绑定的主机地址,把 bind 127.0.0.1的127.0.0.1修改为Linux服务器的IP地址

(注:有多行bind)

d). 配置数据库配置文件中protected-mode行的值为开启,protected-mode yes

e). 重命名或者禁用危险的命令。

代码语言:javascript复制
rename-command FLUSHALL ""

rename-command FLUSHDB  ""

rename-command PEXPIRE  ""

rename-command SPOP     ""

rename-command SREM     ""

rename-command RENAME   ""

#rename-command CONFIG   ""

#rename-command DEL      ""

  (FLUSHDB,FLUSHALL,PEXPIRE,DEL,SPOP,SREM,RENAME命令可能无法使用,则不能清空当前数据库,也不能清空所有数据库,也不能设置键的有效时间,也不能删除键,也不能从集合中随机删除元素,也不能删除集合中的元素,也不能重命名键。)

八、启动redis

新建redis专用用户并授权

代码语言:javascript复制
# groupadd redis

# useradd redis -g redis -p /opt/app/redis

# useradd redis -g redis   (-g用户组,-p密码)

把redis安装目录授权给redis用户

代码语言:javascript复制
# cd /opt/app/

# chown -R redis:redis ./redis

修改redis配置文件权限应小于600

代码语言:javascript复制
chmod 600 /opt/app/redis/etc/redis.conf

切换到redis用户

代码语言:javascript复制
# su - redis

使用/opt/app/redis/etc/redis.conf 配置文件来启动Redis 服务

代码语言:javascript复制
# /opt/app/redis/bin/redis-server /opt/app/redis/etc/redis.conf

服务端启动成功后,执行redis-cli启动Redis 客户端,查看端口号,默认是6379。

代码语言:javascript复制
# /opt/app/redis/bin/redis-cli -h [host] -p [port]

注意:host替换为Linux服务器IP

停止redis

代码语言:javascript复制
# /opt/app/redis/bin/redis-cli shutdown

输入密码并测试:

127.0.0.1:6379> auth ****

查看redis启动进程的用户名,输出redis

代码语言:javascript复制
# ps -ef | grep -w redis-server | grep -v grep | awk '{print $1}'

九、配置防火墙

启动6379端口

代码语言:javascript复制
# vi /etc/sysconfig/iptables

添加以下内容:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT

重启防火墙

代码语言:javascript复制
# service iptables restart

至此结束,以上就是linux部署redis的全过程了^_^

最后

如果你觉得这篇文章对你有点用的话,麻烦请给我们的开源项目点点star:http://github.crmeb.net/u/defu不胜感激 !

0 人点赞