Linux服务器安装redis数据库教程
前面小Alan给大家说了jdk的安装,这篇跟大家聊聊redis非关系型数据库在Linux服务器的安装。
redis简单介绍
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
一、在有外网情况下的安装(外网的配置在linux分类的随笔中有聊过)
第一步:安装编译工具,redis是有ANSI C语言编写的,我们需要安装编译它的工具
命令:yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl
第二步:安装tcl组件包,我们在安装redis的时候是需要tcl脚本语言支持的
#选择一个存放软件包存放的地方,进入软件包存放的目录文件中
命令:cd /usr/local/src
#下载tcl组件包
命令:wget http://downloads.sourceforge.net/tcl/tcl8.6.6-src.tar.gz
#在当前目录解压tcl组件包
命令:tar zxvf tcl8.6.6-src.tar.gz
#进入解压之后的安装目录文件
命令:cd tcl8.6.6
#配置tcl组件
命令:cd unix
命令:./configure --prefix=/usr --without-tzdata --mandir=/usr/share/man $([ $(uname -m) = x86_64 ] && echo --enable-64bit)
#编译
命令:make
#以选项中指定的script来处理输入的文本文件
命令:sed -e "s@^\(TCL_SRC_DIR='\).*@\1/usr/include'@" -e "/TCL_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" -i tclConfig.sh
#安装
命令:make install
命令:make install-private-headers
#建立软连接(好比windows中的快捷方式)
命令:ln -v -sf tclsh8.6 /usr/bin/tclsh
#修改执行文件权限
命令:chmod -v 755 /usr/lib/libtcl8.6.so
第三步:安装Redis数据库
#选择一个存放软件包存放的地方,进入软件包存放的目录文件中
命令:cd /usr/local/src
#下载redis数据库软件包
命令:wget http://download.redis.io/redis-stable.tar.gz
#解压redis数据库软件包
命令:tar -zxvf redis-stable.tar.gz
#创建redis的安装目录文件
命令:mkdir /usr/local/redis
#移动文件到安装目录
命令:mv redis-stable /usr/local/redis
#进入安装目录
命令:cd /usr/local/redis
#编译
命令:make
#安装
命令:make install
#然后查看/usr/local/bin目录下是否有redis的程序文件,如果没有,则从redis-stable中拷贝redis的程序文件
命令:cd /usr/local/bin
命令:ls
#注意:假如没有则拷贝
命令:cd /usr/local/redis/redis-stable
命令:mkdir -p /usr/local/bin
#复制操作
命令:cp -p redis-server /usr/local/bin
命令:cp -p redis-benchmark /usr/local/bin
命令:cp -p redis-cli /usr/local/bin
命令:cp -p redis-check-dump /usr/local/bin
命令:cp -p redis-check-aof /usr/local/bin
#给redis的配置文件创建一个软连接(好比windows中的快捷方式)
命令:ln -s /usr/local/redis/redis-stable/redis.conf /etc/redis.conf
#编辑redis配置文件
命令:vi /etc/redis.conf
#设置后台启动redis(vim编辑器按i进入编辑模式,exit退出编辑模式进入命令模式)
daemonize yes
#强制保存退出
:wq!
#切换到/usr/local/bin目录启动redis服务(cd切换命令)
命令:redis-server /etc/redis.conf
#关闭redis服务
命令:redis-cli shutdown
#编辑,在最后一行添加下面代码
命令:vi /etc/sysctl.conf
vm.overcommit_memory = 1
#强制保存退出
:wq!
#使设置立即生效
命令:sysctl -p
第四步:设置redis在linux服务器上开机启动
#把redis工具中的初始化脚本拷贝到/etc/init.d/目录文件中并重命名
命令:cd /usr/local/redis/redis-stable/utils/
命令:cp redis_init_script /etc/init.d/
命令:cd /etc/init.d/
命令:mv redis_init_script redis
#修改脚本执行权限
命令:chmod 755 /etc/init.d/redis
#添加开机启动
命令:chkconfig --add redis
这时大家可能会遇到问题,就是无法将redis添加到开机启动中,那么要怎么解决呢?
#编辑/etc/init.d/redis文件
命令:vi /etc/init.d/redis(i进入编辑模式,exit返回命令模式:wq!强制保存退出)
在最前面加上两行注释放在/etc/init.d/redis文件靠前的注释中:
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
上面的注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。
#添加开机启动
命令:chkconfig --add redis
#把redis在运行级别为2、3、4、5的情况下都是on(开启)的状态
命令:chkconfig –level redis 2345 on
#查看是否添加成功,列出所有的系统服务,查看里面是否有redis
命令:chkconfig --list
#关闭redis服务,启动redis服务
命令:service redis stop
命令:service redis start
最后一步:测试redis是否已经成功启动服务
#查看本机ip地址
#使用第三方jar包jedis在本地的java应用程序中进行测试
我相信很多人,在执行的时候肯定会不通过,比如连接超时之类的,这是为什么呢?让我们一一来解决:
1.查看redis配置文件,并排查问题,编辑之后保存
命令:vi /etc/redis.conf
第一个可能存在的问题,ip被绑定了,其他ip无法访问:
将绑定ip这个属性注释掉,继续排查,还有一个可能存在的问题,开启了保护模式:
将它从yes改为no,然后执行java程序测试,很多人可能还是会遇到类似的错误,比如:
经过前面的操作,我们可以确定redis服务是启动的,ip端口的设置也是正确的,保护模式也被我们关了,还不能访问,那很大可能就是Linux防火墙导致其他电脑无法访问redis的6379端口了,我们现在windows上测试一下,通过cmd打开命令窗口,telnet命令如果不能使用,自己百度一下开启。
命令:telnet 192.168.0.21 6379
如果很久都没反应,或者出现了错误,则需要在Linux服务器上关掉防火墙或者添加此端口允许被访问。
#通过root用户登录Linux服务器,执行命令开启端口
命令:/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
然后再执行Java应用程序测试一波,基本上就没什么问题了,也能得到像上面那样的正确的结果。
二、在没有外网情况下的安装,假设此时只有局域网怎么办
第一步:将Linux服务器对应的镜像文件挂载到/mnt目录文件下
比如:mount -o loop /data/downloads/redhat/rhel-server-6.5-x86_64-dvd.iso /mnt
#镜像文件包中包含了大多数玩转Linux所需的软件
cd /mnt/Packages
第二步:安装gcc编译工具,相关安装包从centos6.6.iso镜像文件的package包中获取
执行以下的命令:
rpm -ivh mpfr-2.4.1-6.el6.i686.rpm 回车
rpm -ivh cpp-4.4.6-4.el6.i686.rpm 回车
rpm -ivh kernel-headers-2.6.32-279.el6.i686.rpm 回车
rpm -ivh glibc-headers-2.12-1.80.el6.i686.rpm 回车
rpm -ivh glibc-devel-2.12-1.80.el6.i686.rpm 回车
rpm -ivh libgomp-4.4.6-4.el6.i686.rpm 回车
rpm -ivh ppl-0.10.2-11.el6.i686.rpm
rpm -ivh cloog-ppl-0.15.7-1.2.el6.i686.rpm 回车
rpm -ivh gcc-4.4.6-4.el6.i686.rpm 回车
rpm -ivh libstdc++-devel-4.4.7-11.el6.x86_64.rpm 回车
rpm -ivh gcc-c++-4.4.6-4.el6.i686.rpm 回车
如果error: Failed dependencies: cpp = 4.4.7-4.el6 is needed by gcc-4.4.7-4.el6.x86_64
安装gcc及其他依赖包的时候,加上参数 --force --nodeps
例如:
rpm -ivh gcc-4.4.7-4.el6.x86_64.rpm --nodeps --force
#rpm卸载命令
rpm -e --nodeps gcc-4.4.7-4.el6.x86_64
#卸载挂载的资源
umount /mnt
第三步,将下载好的tcl组件包安装到Linux服务器中
将文件copy到 /usr/local/src 目录下(随意目录)
chmod 777 tcl8.6.1-src.tar.gz
tar xzvf tcl8.6.1-src.tar.gz
cd tcl8.6.1/nuix
./configure 或者 ./configure --prefix=/usr/local/tcl8.6.1/ --enable-shared
make
make install
第四步:将下载好的redis数据库安装包安装到Linux服务器中
将文件copy到 /usr/local/src 目录下(随意目录)
chmod 777 redis-2.8.8.tar.gz
tar xzf redis-2.8.8.tar.gz
cd redis-2.8.8
make MALLOC=libc
make test
make install
后面这种方式就大概给大家提个思路,你完全可以自己结合上面详细的在线安装的方式去实现没有外网时候的安装,这里主要的区别就是没有外网的时候gcc编译工具可以从挂载的ios镜像中去获取,然后所有的安装包都是已经下载好的,需要自己上传到Linux服务器中,上传的方式可以参考上一篇随笔Linux服务器安装JDK运行环境教程。
结束语:不惊扰别人的宁静,就是慈悲; 不伤害别人的自尊,就是善良。 人活着,发自己的光就好,不要吹灭别人的灯。
可爱博主:AlanLee
博客地址:http://www.cnblogs.com/AlanLee
本文出自博客园,欢迎大家加入博客园。
Linux服务器安装redis数据库教程的更多相关文章
- linux --mariadb/redis数据库篇
mariadb ---磁盘型数据库 基础安装 配置好yum源后,软件就可以通过配置的yum源进行安装,按理来讲安装mysql直接通过 yum install mariadb -y 便可安装,但 ...
- Linux安装redis数据库
这几天在搞redis数据库,花了好大功夫,才成功安装在Linux上,这里将自己的安装步骤分享出来,同时也做个记录,备忘. 新人一枚,不对之处,请多指教! 首先登陆Linux服务器 Linux里,我习惯 ...
- linux下redis数据库的简单使用
一.redis简介 Redis是一个key-value存储系统.和 Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持list ...
- Linux系统安装Redis数据库
Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...
- 阿里云Linux服务器安装Redis 完整步骤(包括处理远程连接问题)
跟随本篇文章步骤,包你成功安装并连接使用. 1.获取redis资源 wget http://download.redis.io/releases/redis-4.0.8.tar.gz 2.解压 tar ...
- 阿里云下Linux服务器安装Redis
什么是Redis? Redis是一个可以持久化的缓存框架,支持分布式缓存,简单易用.类似的框架还有memcached,是一个Key-Value形式存储的缓存框架. 可以作为缓存的框架有: EHCa ...
- Linux centos7 redis安装教程
1.下载解压 #下载至/home/install(或windows系统下载后上传) mkdir /home/install cd /home/install wget http://124.205.6 ...
- Linux安装redis数据库及添加环境变量
1.下载安装包 [root@localhost opt]# yum install wget [root@localhost opt]# wget http://download.redis.io/r ...
- linux安装redis官方教程
官方链接:http://redis.io/download Download, extract and compile Redis with: $ wget http://download.redis ...
随机推荐
- ES6 箭头函数 this 指向
ES6 箭头函数 this 指向 箭头函数有几个使用注意点: 函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象. 不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个 ...
- Android Library项目发布到JCenter最简单的配置方法
前沿 网上的步骤看起来实在太麻烦,gituhb上偶然间看到的一个项目,经过实际验证确实可行.github连接:https://github.com/xiaopansky/android-library ...
- MVC中页面传值方式总结
MVC中的页面传值,通常指Controller和view之间的数据传递,经常用到的有几种方式,总结如下: 一.Controller----------->View(控制器传到视图) 1.View ...
- WCF异常信息
1.服务“CJ.Demo.Conso.WcfService.EmployeeMngService”有零个应用程序(非基础结构)终结点.这可能是因为未找到应用程序的配置文件,或者在配置文件中未找到与服务 ...
- Day1:了解APICloud平台、理解APICloud应用设计思想、掌握平台使用流程。学习如何对一款APP进行需求分析、功能分解和架构设计等编码之前重要的准备工作
学习目标 总体上了解一下APICloud平台,重点介绍相关的学习资源,入门资料,常见的FAQ等 明确我们这七天要开发一个什么样的APP,明确功能需求,跟上每天的课程节奏,可以课前预习 梳理出对于一款A ...
- 上传多张图片imgupload
<tr> <td class="listtitle-up">尿素箱</td> <td> <div class="co ...
- SqlServer知识点
在公司天天写Sql写,存储过程,但是公司工具模板把创建的语句都写好了,只负责写里面的逻辑,久而久之,创建语句都不会写了.还有一些知识点都很模糊,平常使用的时候都不清楚,稀里糊涂的就在用.在这里整理一下 ...
- 关于ajaxFileUpload只能上传一次的解决
今天用ajaxFileUpload做了一个上传文件到服务器的功能. 出现问题:先上传了一次,后来发现读取完成以后,再上传的时候前台调试file和自动义参数都传进,但后台获取的仍然是上一次上传时的相关参 ...
- Java基础教程(20)--数字和字符串
一.数字 在用到数字时,大多数情况下我们都会使用基本数据类型.例如: int i = 500; float gpa = 3.65f; byte mask = 0xff; 然而,有时候我们既需要 ...
- POJ 1284 Primitive Roots 数论原根。
Primitive Roots Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 2479 Accepted: 1385 D ...