0
点赞
收藏
分享

微信扫一扫

阿里云服务器 搭建单体redis 以及踩坑


在搭建阿里云服务器的过程中,踩坑很多,特写此文;

 

简介

Redis是一个开源(BSD许可),内存数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,如字符串,散列,列表,集合,带有范围查询的排序集,位图,超级日志,具有半径查询和流的地理空间索引。Redis具有内置复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel提供高可用性并使用Redis Cluster自动分区。(以上部分来自redis官网)

安装

安装依赖

yum install gcc-c++ -y

创建安装目录、编译、安装

下载地址

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

# -p 确保目录名称存在,不存在的就建一个
mkdir -p /home/software/redis

# -z:有gzip属性的,-x:解压,-v:显示所有过程,-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名
tar zxvf redis-3.0.6.tar.gz

cd redis-3.0.6
# make是用来编译的,它从Makefile中读取指令,然后编译
# make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置 PREFIX选定要安装得目录
make && make PREFIX=/home/software/redis install

 

:set number  

阿里云服务器 搭建单体redis 以及踩坑_Redis

显示行数

  • 1、daemonize介绍
  • A、redis.conf配置文件中daemonize守护线程,默认是NO。
  • B、daemonize是用来指定redis是否要用守护线程的方式启动。
  • 2、daemonize 设置yes或者no区别
  • ​daemonize:yes​​:redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
  • ​daemonize:no​​: 当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。
  •  

复制配置文件、启动

cd redis-5.0.5/
cp redis.conf /home/software/redis/bin

修改/usr/local/redis/bin/redis.conf (以下修改都是基于redis5.0.5 其他版本redis可能有出入)

使用vim编辑器 输入 : set number 显示行数(前提是你已经安装了vim)

# 是否作为守护线程,Redis将在/var/run/ Redis中写入pid文件。当监控pid

在136行

daemonize yes

如需修改实例数量

在186行

databases 32

注释绑定ip,可以连接到redis得ip

#bind 127.0.0.1

添加访问密码

在507行

requirepass redis

启动

切换到安装目录下得bin目录

执行命令,这个配置文件是我们刚刚从解压目录里拷贝过来的

./redis-server redis.conf

查看进程

ps -ef | grep redis

 

!!!!等等,小伙伴们有话说,我需要的是一个外网可以访问的redis,那么还需要很多配置;

首先 阿里云服务器的安全组的端口开放:6379或者你配置的redis端口,很重要,本次我就在这里浪费了很多时间。

阿里云服务器 搭建单体redis 以及踩坑_redis_02

其次,还有服务器的防火墙配置;需要把Redis的端口,添加到防火墙配置规则里面去。

正确的命令是 

 /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT

查看防火墙状态

 /etc/init.d/iptables status

防火墙的帮助命令

 /etc/init.d/iptables --help

防火墙停止

/etc/rc.d/init.d/iptables stop

防火墙重启

/etc/rc.d/init.d/iptables restart

 

最后,ps -ef|grep redis

kill -9 XX(pid)

 ./redis-server redis.conf &
 

 

--------------------------------------------------------------------------以下内容仅供参考-----------------------------------------------------------

可以使用,优化IO

 sysctl -w net.ipv4.tcp_timestamps=1
 sysctl -w net.ipv4.tcp_tw_recycle=1 

修改redis的配置文件,将所有bind信息全部屏蔽。

1

2

3

4

5

​# bind 192.168.1.100 10.0.0.1​

 

​# bind 192.168.1.8​

 

​# bind 127.0.0.1​

  

修改完成后,需要重新启动redis服务。

1

​redis-server redis.conf &​

  

如果iptables 没有开启6379端口,用这个方法开启端口

1

2

3

​命令:/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT​

 

​保存防火墙修改命令:/etc/rc.d/init.d/iptables save​

  

通过iptables 允许指定的外网ip访问

修改 ​​Linux​​ 的防火墙(iptables),开启你的redis服务端口,默认是6379。

1

2

3

4

​//只允许127.0.0.1访问6379​

​iptables -A INPUT -s 127.0.0.1 -p tcp --dport 6379 -j ACCEPT​

​//其他ip访问全部拒绝​

​iptables -A INPUT -p TCP --dport 6379 -j REJECT​

未配置拒绝前

 

测试连接

这里我使用了一个连接的客户端,需要的留言

点击ok

至此,我们就成功安装了redis。如果有小伙伴在安装的过程中遇到问题,可以在评论区里留言

举报

相关推荐

0 条评论