在搭建阿里云服务器的过程中,踩坑很多,特写此文;
简介
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
显示行数
- 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的端口,添加到防火墙配置规则里面去。
正确的命令是
/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 |
|
修改完成后,需要重新启动redis服务。
1 | |
如果iptables 没有开启6379端口,用这个方法开启端口
1 2 3 |
|
通过iptables 允许指定的外网ip访问
修改 Linux 的防火墙(iptables),开启你的redis服务端口,默认是6379。
1 2 3 4 | |
未配置拒绝前
测试连接
这里我使用了一个连接的客户端,需要的留言
点击ok
至此,我们就成功安装了redis。如果有小伙伴在安装的过程中遇到问题,可以在评论区里留言