centos6.9 安装redis
今天在一台腾讯云服务器上安装redis,解压后,make 编译一下,结果报错*** [adlist.o] Error 127
写一下处理问题的流程
1.这个问题的原因是redis是使用C语言编写的,需要gcc来进行编译,所以是系统没有安装gcc。
按照顺序执行以下命令
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
因为gcc依赖很多,都执行一下,以防万一
2.重新切换到redis目录编译,make 还是报错:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error “Newer version of jemalloc required”
这个是因为,jemalloc 重载了linux 下的ANSI C的malloc 和free 函数,解决办法就是,使用make 编译时添加参数
make MALLOC=libc
见到Hint: It’s a good idea to run ‘make test’ ???? 则编译成功
进入redis的src目录
cd src
make install
./redis-server
启动redis服务
可以使用./redis-cli 测试客户端的访问
3.测试下redis服务并修改配置
3.1.切换到redis的安装目录,找到redis.conf文件,备份一下
cp redis.conf redis_backup.conf
再修改redis.conf文件中的bind 127.0.0.1 改成bind 0.0.0.0
3.2.开启防火墙的端口
centos 7 之前的版本修改端口的方法
打开端口号:iptables -A INPUT -ptcp --dport 端口号(6379) -j ACCEPT
重启刷新端口号:service iptables restart
但是需要注意的是,上面通过./redis-server启动redis的时候,当你退出xshell或者使用ctrl + c命令的时候,会关闭redis
这个是因为redis.conf中的daemonize表示守护进程,默认no ,改成yes 即可
protected-mode no代表的是只能本机访问,改成yes
同时,如果远程连接的话,需要将bind 127.0.0.1 改成bind 0.0.0.0或者直接注释掉
这个时候使用ps -ef |grep redis看到的结果如图
requirepass foobared表示是否需要密码
自己将后面的改成密码就行了,如requirepass aaa111
那么密码就是aaa111
这时,使用命令 redis-server redis.conf的目录,启动redis,再接着可以通过rdm.exe远程访问redis