设为首页 收藏本站
查看: 3319|回复: 0

[经验分享] linux下redis安装

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-11 08:37:01 | 显示全部楼层 |阅读模式
1:下载redis
下载地址  http://download.redis.io/releases/redis-3.0.2.tar.gz  

2:安装redis
下载后解压 tar zxvf redis-3.0.2.tar.gz  到任意目录,例如/usr/local/redis-3.0.2

yum groupinstall 开发工具 -y
yum install tcl -y   #安装tcl,在make时直接将命令放到了/usr/bin下
cd /usr/local/redis-3.0.2.tar.gz   #解压后,进入redis目录

make   #不用./configure,直接执行make即可。默认安装到/usr/local下(不管在哪解压)
注:如果没有安装tcl,在make完后会提示Hint: To run 'make test' is a good idea ;其实不测试,一般也可以用。但是要执行make test则必须安装tcl。
3:拷贝文件
cp redis.conf /etc/   #将启动的配置文件拷到某个路径下(不拷也可以)

cp redis-benchmark redis-cli redis-server /usr/bin/ #将命拷到PATH路径下,可在任意地方执行
注:如果前面安装了tcl,则不用将命令拷贝到PATH路径下了
4:编辑配置文件  
vim /etc/redis.conf  #公司的主要配置
主要内容如下:
daemonize yes  #设置redis进程为后台守护进程,默认为no
port 6379  #默认为6379
dbfilename dump.rdb  #在redis.conf所在的路径下
dir ./  #用命令config get dir即可查询到该redis目录
bind x.x.x.x  #监听的ip,内网外网都可以,内网较安全,默认为本机(可以绑定多个,接着写就行了)
5:设置内存分配策略(可选,根据服务器的实际情况进行设置)
vim /etc/sysctl.conf
添加:vm.overcommit_memory=1  # 如果内存情况比较紧张的话,需要设定内核参数
或:echo 1 > /proc/sys/vm/overcommit_memory


注:内核参数说明如下:

     overcommit_memory文件指定了内核针对内存分配的策略,其值可以是0、1、2。
     0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给     应用进程。
     1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
     2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

6:开启防火墙
vim /etc/sysconfig/iptables
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT

service iptables restart  #重启

7:启动redis服务
redis-server /etc/redis.conf  #因为已经将该命令加入PATH,所以任何地方都可使用。

ps -ef | grep redis  #查看进程,确认redis已经启动
  root       401 29222  0 18:06 pts/3    00:00:00 grep redis
  root     29258     1  0 16:23 ?        00:00:00 redis-server /etc/redis.conf

注:如果这里启动redis服务失败,一般情况下是因为redis.conf文件有问题,建议检查或找个可用的配置文件进行覆盖,避免少走弯路,这里建议,修改redis.conf,设置redis进程为后台守护进程

8:测试redis
[iyunv@Architect redis-1.2.6]#pgrep -lf redis
14934 redis-server 10.253.101.2:6379
[iyunv@Architect redis-1.2.6]# redis-cli  #redis-cli -h ip -p 端口号
redis> set name songbin   #建值
    OK
redis> get name  #获得内容
    "songbin"
redis > SELECT 0  #redis默认有16个库,用select来切换
OK
redis > SELECT 1
OK
redis > SELECT 0
OK
redis > keys *  #查看所有建值
1) "app_id"
2) "u_6039"
3) "u_6037"
4) "u_6035"
5) "u_6033"
redis > hgetall u_6039  #查看某个
1) "app_id"
2) "9999"
3) "school"
4) "1141"
redis > exit
10:关闭redis服务
法一:使用命令
redis-cli shutdown
注:redis服务关闭后,缓存数据会自动dump到硬盘上,硬盘地址为redis.conf中的配置项dbfilename dump.rdb所设定
强制备份数据到磁盘,使用如下命令:redis-cli save 或者 redis-cli -p 6380 save(指定端口)

法二:使用脚本
vim /etc/init.d/redis
#!/bin/bash
#
# redis - this script starts and stops the redis-server daemon
#
# chkconfig:  - 80 12
# description: Redis is a persistent key-value database
# processname: redis-server
# config:   /usr/local/redis/etc/redis.conf
# pidfile:   /usr/local/redis/var/redis.pid

source /etc/init.d/functions

BIN="/usr/local/bin"  #安装路径
CONFIG="/etc/redis.conf"
PIDFILE="/usr/local/redis/var/redis.pid"


### Read configuration
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"

RETVAL=0
prog="redis-server"
desc="Redis Server"

start() {

    if [ -e $PIDFILE ];then
       echo "$desc already running...."
       exit 1
    fi

    echo -n $"Starting $desc: "
    daemon $BIN/$prog $CONFIG

    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
    return $RETVAL
}

stop() {
    echo -n $"Stop $desc: "
    killproc $prog
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE
    return $RETVAL
}

restart() {
  stop
  start
}

case "$1" in
start)
    start
    ;;
stop)
    stop
    ;;
restart)
    restart
    ;;
condrestart)
    [ -e /var/lock/subsys/$prog ] && restart
    RETVAL=$?
    ;;
status)
    status $prog
    RETVAL=$?
    ;;
  *)
    echo $"Usage: $0 {start|stop|restart|condrestart|status}"
    RETVAL=1
esac

exit $RETVAL
service redis start  #启动服务



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-97209-1-1.html 上篇帖子: Reids客户端Jedis的JedisSentinelPool关闭问题 下篇帖子: redis内核优化 linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表