【redis】linux上的安装与配置(详细图解)
转载自:https://blog.csdn.net/yjqyyjw/article/details/73293455;经过个人测试也适用于当前最新稳定的3.x的版本,顺便填了几个坑。
1、下载
http://redis.io/download
2、解压至任一目录
tar xzf redis-2.8.17.tar.gz
3、编译并安装
cd redis-2.8.17
make
cd src
make install PREFIX=/usr/local/redis
注意:make编译如果失败,因为没有安装gcc服务(这里补充,还可能导致出错的地方是没有安装jemalloc,可以yum install -y jemalloc安装[安装完还要配置些东西用后者吧]或make时用make MALLOC=libc)
yum install gcc
云安装gcc服务,之后提示下载文件y确认
开始下载,提示安装y确认
rpm -qa |grep gcc查看安装是否成功
这里补充,安装完gcc然后make后(make MALLOC=libc)和后续make install后会出现四行蓝色的INSTALL install;此时可以用ll(ls -l)看看src里有哪些东西
4、将配置文件移动到redis安装目录下(补充,此文件在src上级目录里先cd ..;而且etc需要先mkdir才有)
mv redis.conf /usr/local/redis/etc
5、启动服务、配置
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf(注意,如果执行命令的bash路径就在redis/bin下,那么可以都用相对路径,第二个参数可以是../etc/redis.conf,个人的理解是在终端运行程序那么启动程序时程序会认为自己所在的位置就是终端的当前路径
,这个比如java里用classLoader.getResource("aa.txt")那么其实这个classLoader在创建时就已经设置了它的路径,而对于可执行程序而言就是启动时就设置了终端所在的路径,然后程序里用到的相对路径都是基于那个值的,这个值可以理解为private变量我们无法感知到但它确实存在某处,而
且也不提供对外查询或设置该值的接口,只是程序里如果用到了相对路径保存或读取文件系统能知道;个人再次猜测是程序启动时操作系统都会记录此进程的工作目录,即bash的当前目录,然后此进程调用系统api如保存文件,操作系统执行这个请求时会判断是相对路径还是绝对路径,如果是相对路径则用
注册的工作目录进行补全。这里的重点是无论读文件还是写文件最终都是由操作系统api完成也就是需要操作系统出马(黑客技术除外),自然它能用到此进程的相关启动信息)
第一个是启动redis服务器
第二个是启动服务器所需的配置(补充,这里的解释是有问题的,可以通过file redis.conf发现它只是个文本文件,这里应该是第二个redis.conf是第一个redis-server的参数)
补充,这里会发现按下Ctrl + C退出不了,提示saving DB失败由于权限不够;这是因为你用的不是root用户,而如果你的某个用户等同于root(个人的就是这样虽然不是root但对我而言创建的第一个账户就类似我的root)可以chown -R username redis
将redis的所有者改为username,然后还退出不了可以chmod -R 771 redis(这里只需要第一个是7即可表示文件所有者对这些文件具备rwx的权限)
6、默认情况,Redis不是在后台运行,我们需要把redis放在后台运行
vim /usr/local/redis/etc/redis.conf
将daemonize的值改为yes
7、让redis开机自启
vim /etc/rc.local
加入
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
8、客户端链接
/usr/local/redis/bin/redis-cli
9、停止服务
/usr/local/redis/bin/redis-cli shutdown
或者
pkill redis-server
10、/usr/local/redis/bin目录下的几个关键文件
redis-benchmark:redis性能测试工具
redis-check-aof:检查aof日志的工具
redis-check-dump:检查rdb日志的工具
redis-cli:连接用的客户端
redis-server:redis服务进程
11、conf 配置项介绍
daemonize:如需要在后台运行,把该项的值改为yes
pidfile:把pid文件放在/var/run/redis.pid,可以配置到其他地址(我那是redis_6379.pid)
bind:指定redis只接收来自该IP的请求,如果不设置,那么将处理所有请求,在生产环节中最好设置该项(补充,这个解释不好,其实就是redis启动时会绑定的ip,而且默认是127.0.0.1也就是说只接受本地主机的请求,0.0.0.0才是接受本机所有网卡ip的请求或者注释bind=...那么redis默认绑定0.0.0.0)
port:监听端口,默认为6379
timeout:设置客户端连接时的超时时间,单位为秒
loglevel:等级分为4级,debug,revbose,notice和warning。生产环境下一般开启notice
logfile:配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上
database:设置数据库的个数,默认使用的数据库是0
save:设置redis进行数据库镜像的频率(即将redis的内存数据key-value存储到本地db里,这个跟redis里有多少key-value被修改也有关)
rdbcompression:在进行镜像备份时,是否进行压缩
dbfilename:镜像备份文件的文件名
dir:数据库镜像备份的文件放置的路径
slaveof:设置该数据库为其他数据库的从数据库
masterauth:当主数据库连接需要密码验证时,在这里设定
requirepass:设置客户端连接后进行任何其他指定前需要使用的密码
maxclients:限制同时连接的客户端数量
maxmemory:设置redis能够使用的最大内存
appendonly:开启appendonly模式后,redis会把每一次所接收到的写操作都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态
appendfsync:设置appendonly.aof文件进行同步的频率
vm_enabled:是否开启虚拟内存支持
vm_swap_file:设置虚拟内存的交换文件的路径
vm_max_momery:设置开启虚拟内存后,redis将使用的最大物理内存的大小,默认为0
vm_page_size:设置虚拟内存页的大小
vm_pages:设置交换文件的总的page数量
vm_max_thrrads:设置vm IO同时使用的线程数量
【redis】linux上的安装与配置(详细图解)的更多相关文章
- 在Linux上怎么安装和配置Apache Samza
samza是一个分布式的流式数据处理框架(streaming processing),它是基于Kafka消息队列来实现类实时的流式数据处理的.(准确的说,samza是通过模块化的形式来使用kafka的 ...
- java环境--JDK和Tomcat在linux上的安装和配置
Tomcat在Linux上的安装与配置 以下使用的Linux版本为: Redhat Enterprise Linux 7.0 x86_64,Tomcat版本为tomcat-7.0.54.1.下载JDK ...
- Linux上centOs6+安装mysql5.7详细教程 - 前端小鱼塘
https://coyhom.github.io/ 人类的本质是复读机,作为一个非linux专业人员学习linux最好的办法是重复 环境centos6.5 版本5.7 1: 检测系统是否自带安装mys ...
- Nginx 在 Linux 上的安装和配置
一.Nginx的安装 1.单台Nginx的安装 Nginx在Linux上的安装可以参考这篇博客:http://blog.csdn.net/molingduzun123/article/details/ ...
- nginx在linux上的安装与配置详解(一)
Nginx的安装与配置详解 (1)nginx简介 nginx概念: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like ...
- Tomcat在Linux上的安装与配置
以下使用的Linux版本为: Redhat Enterprise Linux 6.5 x86_64,Tomcat版本为tomcat-7.0.54. 1.下载JDK与Tomcat. jdk下载地址 ...
- LINUX 上源代码安装与配置samba服务,支持从windows上读写LINUX文件。
###动机###在windows编写代码文件比较方便,因为有source insight.但是需要在LINUX上编译.一种办法就是使用samba文件共享. [1] 下载samba代码.按照config ...
- Tomcat与jdk在Linux上的安装与配置
本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群: 281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29Lo ...
- redis在linux上的安装和配置
https://blog.csdn.net/lzding/article/details/52040501(直接可以用的安装phpredis) http://www.runoob.com/redis/ ...
随机推荐
- python 之九九乘法表
for i in range(1,10): for j in range(1,i+1): print(f"{j}*{i}={i*j}",end='\t') print() 运行结果 ...
- 脚本中 %~dp0
cmd窗口中 for /? 查询参数含义 %~dp0, 将参数转换为磁盘路径+名字 例: 脚本中一行 %~dp0abc.exe (abc.exe位置c:\test\abc.exe) 展开后则为 c:\ ...
- Axure8 实现移动端页面上下滑动效果
目前,很多Axure新人都在问如何实现界面上下滑动效果,网上相关的教程也不少,各有各的方法,但是很少有教程对滑动界限设置做出比较详细的说明,其实在工作过程中,个人发现练好Axure是很有意提升逼格的, ...
- ssh结合tar命令把远程文件拉回来或推过去(实现数据无落地推送)
登录22后tar 压缩/var/log目录输出到标准输入通过管道传到本地22_log.tar.gz文件 ssh 192.168.0.22 "cd /var ;tar -zcvf - log& ...
- Linux下方便的块设备查看工具lsblk
之前在Linux下看有什么块设备,通常都用fdisk什么的或者直接ls /dev/ 去看很不方便. 这个工具属于util-linux-ng包,在RHEL 6.1上是安装好的啦,直接用就好. ubunt ...
- Ubuntu技巧之清理系统中无用的软件包
如果你频繁的在你的系统中安装/卸载,那么不时的清理一下你的系统是十分必要的. 在Ubuntu终端中执行如下命令: sudo apt-get autoremove 屏幕输出是这个样子的: Reading ...
- How to Pronounce OPPORTUNITY
How to Pronounce OPPORTUNITY Share Tweet Share Take the opportunity to learn this word! Learn how t ...
- express + mongodb 搭建一个简易网站(一)
express + mongodb 搭建一个简易网站(一) 前言:后台使用node.js的express框架,数据库使用mongodb,模板使用ejs.大概就这些. 开始第一个简易网站之旅吧.... ...
- Ansible 管理MySQL主从复制
mysql_replication - 管理MySQL复制 1.3版新功能 概要 要求(在执行模块的主机上) 选项 例子 笔记 状态 支持 概要 管理MySQL服务器复制,从属,主状态获取和更改主控主 ...
- Eureka 源码编译 部署
Netflix开源的Eureka 是使用Gradle 构建的,所以我们也使用Gradle来编译它 所需环境 Eclipse , Gradle , Tomcat ,git 这些插件如果己经安装可直接 ...