linux redis

php论坛  2015-04-15 05:57:48  来源:1  阅读:91

1、安装编译工具


yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils  patch perl


2、安装tcl组件包(安装Redis需要tcl支持)


下载:http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz


上传tcl8.6.1-src.tar.gz到/usr/local/src目录


cd /usr/local/src #进入软件包存放目录


tar  zxvf  tcl8.6.1-src.tar.gz  #解压


cd tcl8.6.1 #进入安装目录


cd unix


./configure --prefix=/usr   --without-tzdata    --mandir=/usr/share/man $([ $(uname -m) = x86_64 ] && echo --enable-64bit)   #配置


make #编译


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


ln -v -sf tclsh8.6 /usr/bin/tclsh


chmod -v 755 /usr/lib/libtcl8.6.so


3、安装Redis


下载:http://download.redis.io/redis-stable.tar.gz


上传redis-stable到/usr/local/src目录


cd /usr/local/src


tar -zxvf redis-stable.tar.gz #解压


mv redis-stable  /usr/local/redis #移动文件到安装目录


cd /usr/local/redis  #进入安装目录


make #编译


make install #安装


cd  /usr/local/bin #查看是否有下面文件,如果没有,拷贝下面文件到/usr/local/bin目录


cd /usr/local/redis/src


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


ln -s  /usr/local/redis/redis.conf  /etc/redis.conf  #添加配置文件软连接


vi /etc/redis.conf  #编辑


daemonize yes  #设置后台启动redis


:wq! #保存退出


redis-server /etc/redis.conf  #启动redis服务


redis-cli shutdown  #关闭redis


vi /etc/sysctl.conf #编辑,在最后一行添加下面代码


vm.overcommit_memory = 1


0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。 

1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

2, 表示内核允许分配超过所有物理内存和交换空间总和的内存


:wq! #保存退出


sysctl -p #使设置立即生效


4、设置redis开机启动


vi /etc/init.d/redis   #编辑,添加以下代码


#!/bin/sh


# chkconfig:   2345 90 10


# description:  Redis is a persistent key-value database


# redis    Startup script for redis processes


# processname: redis


redis_path="/usr/local/bin/redis-server"


redis_conf="/etc/redis.conf"


redis_pid="/var/run/redis.pid"


# Source function library.


. /etc/rc.d/init.d/functions


[ -x $redis_path ] || exit 0


RETVAL=0


prog="redis"


# Start daemons.


start() {


if [ -e $redis_pid -a ! -z $redis_pid ];then


echo $prog" already running...."


exit 1


fi


echo -n $"Starting $prog "


# Single instance for all caches


$redis_path $redis_conf


RETVAL=$?


[ $RETVAL -eq 0 ] && {


touch /var/lock/subsys/$prog


success $"$prog"


}


echo


return $RETVAL


}


# Stop daemons.


stop() {


echo -n $"Stopping $prog "


killproc -d 10 $redis_path


echo


[ $RETVAL = 0 ] && rm -f $redis_pid /var/lock/subsys/$prog


RETVAL=$?


return $RETVAL


}


# See how we were called.


case "$1" in


start)


start


;;


stop)


stop


;;


status)


status $prog


RETVAL=$?


;;


restart)


stop


start


;;


condrestart)


if test "x`pidof redis`" != x; then


stop


start


fi


;;


*)


echo $"Usage: $0 {start|stop|status|restart|condrestart}"


exit 1


esac


exit $RETVAL


:wq! #保存退出


chmod 755 /etc/init.d/redis  #添加脚本执行权限


chkconfig --add redis  #添加开启启动


chkconfig --level 2345 redis on  #设置启动级别


chkconfig --list redis  #查看启动级别


service redis restart  #重新启动redis


系统运维  www.osyunwei.com  温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接


5、设置redis配置文件参数


mkdir -p /usr/local/redis/var  #创建redis数据库存放目录


vi /etc/redis.conf  #编辑


daemonize yes  #以后台daemon方式运行redis


pidfile "/var/run/redis.pid"  #redis以后台运行,默认pid文件路径/var/run/redis.pid


port 6379  #默认端口


bind 127.0.0.1 #默认绑定本机所有ip地址,为了安全,可以只监听内网ip


timeout 300 #客户端超时设置,单位为秒


loglevel verbose  #设置日志级别,支持四个级别:debug、notice、verbose、warning


logfile stdout  #日志记录方式,默认为标准输出,logs不写文件,输出到空设备/deb/null


logfile "/usr/local/redis/var/redis.log"  #可以指定日志文件路径


databases 16  #开启数据库的数量


save 900 1


save 300 10


save 60 10000


创建本地数据库快照,格式:save * *


900秒内,执行1次写操作


300秒内,执行10次写操作


60秒内,执行10000次写操作


rdbcompression yes #启用数据库lzf压缩,也可以设置为no


dbfilename dump.rdb  #本地快照数据库名称


dir "/usr/local/redis/var/"   #本地快照数据库存放目录


requirepass 123456  #设置redis数据库连接密码djk334Df45


maxclients 10000 #同一时间最大客户端连接数,0为无限制


maxmemory 1024MB #设定redis最大使用内存,值要小于物理内存,必须设置


appendonly yes  #开启日志记录,相当于MySQL的binlog


appendfilename "appendonly.aof"   #日志文件名,注意:不是目录路径


appendfsync everysec #每秒执行同步,还有两个参数always、no一般设置为everysec,相当于MySQL事物日志的写方式


:wq! #保存退出


service redis restart #重启


6、测试redis数据库


redis-cli -a 123456  #连接redis数据库,注意:-a后面跟redis数据库密码


set name osyunwei.com  #写数据


get name  #读取数据


exit #退出redis数据库控制台


redis-benchmark -h 127.0.0.1 -p 6379 -c 1000 -n 100000  #1000个并发连接,100000个请求,测试127.0.0.1端口为6379的redis服务器性能


7、通过php程序连接redis数据库  #php必须先安装Redis扩展


redis数据库IP:192.168.21.128


端口:6379


密码:123456


测试代码:


<?php


$redis = new Redis();


$redis->connect('192.168.21.128',6379);


$redis->auth('123456');


$redis->select(1);


$ret = $redis->set('www.osyunwei.com', 'osyunwei');


var_dump($ret);


$allKeys = $redis->keys('*');


print_r($allKeys);


?>


把上面代码保存为test.php,打开之后会出现如下页面


bool(true) Array ( [0] => www.osyunwei.com )


至此,Linux下Redis服务器安装配置完成。



-------------------------------------

redis 外网访问

更改redis.conf 文件


bind 127.0.0.1


protected-mode yes


更改为


# bind 127.0.0.1


protected-mode no




-------------------------------------------------------------------------

php redis 扩展




2、安装Redis的PHP扩展


2.1 安装phpize


yum install php-devel  

2.2 下载扩展源码包,直接用wget


#wget下载github上的文件  

wget https://github.com/nicolasff/phpredis/archive/master.zip  

2.3 如果没装unzip,需要先安装unzip


yum install unzip 

2.4 解压master.zip


unzip master.zip

2.5 解压目录为phpredis-master,进入该文件夹,开始编译php扩展


phpize

2.6 配置环境


./configure  

2.7 编译


make && make install 

编译完成后显示:


Build complete.  

Don't forget to run 'make test'.  

Installing shared extensions:     /usr/lib64/php/modules/ 

进入/usr/lib64/php/modules/文件夹,发现redis.so的扩展


2.8 修改/etc/php.ini,添加下面的扩展


extension=redis.so 

2.9 重启服务器


service httpd restart



#安装phpize  

yum install php-devel  


#1.准备phpize编译环境  

[root@localhost phpredis-master]# phpize  


[root@AY1309031738042825c4Z phpredis-master]# ./configure --with-php-config=/usr/bin/php-config


[root@AY1309031738042825c4Z phpredis-master]#  make && make install


php.ini


extension=redis.so  


分享到:

0条评论网友评论

  • 全部评论
加载更多

飞翔船舶

关于飞翔 | 联系我们 | 新手教程 | 隐私声明 | 经营优势 | 常见问题

Copyright © 2010 - 2012 Tencent. All Rights Reserved  工信部备案号:备案号:ICP备1100256