Redis安装
1,安装redis
cd
wget http://download.redis.io/releases/redis-3.0.5.tar.gz
tar -zxvf redis-3.0.5.tar.gz
cd redis-3.0.5
make
cd src
make install PREFIX=/usr/local/redis
cd ..
mkdir /usr/local/redis/etc
cp redis.conf /usr/local/redis/etc/redis.conf
批处理:
cd && wget http://download.redis.io/releases/redis-3.0.5.tar.gz && tar -zxvf
redis-3.0.5.tar.gz && cd redis-3.0.5 && make && cd src &&
make install PREFIX=/usr/local/redis && cd .. && mkdir /usr/local/redis/etc &&
cp redis.conf /usr/local/redis/etc/redis.conf
2、默认情况,Redis不是在后台运行,需要把redis放在后台运行:
vi /usr/local/redis/etc/redis.conf
将daemonize的值改为yes
2.1 如果redis需要设密码,改:
requirepass 【密码】
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
前两项批处理:
sed -i 's/^\(daemonize\).*/\1 yes/' /usr/local/redis/etc/redis.conf
echo '/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf' >> /etc/rc.d/rc.local
到这里Redis安装完成,
4,连接客户端:
/usr/local/redis/bin/redis-cli
127.0.0.1:6379> ping
---这说明已经成功地安装Redis在机器上
PONG
127.0.0.1:6379> keys *
--列出所有键名
(empty list or set)
--若出现这个,表示安装正常。
127.0.0.1:6379>keys flushdb
--清空,好象不起作用
5,停止(只是说明如何停止,这里不必须停止):
/usr/local/redis/bin/redis-cli shutdown
6,安装PHP扩展:
相关步骤:
cd /usr/local/src
#进入软件包存放目录
wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz
#下载安装包,或都其他方式下载并上传phpredis-2.2.4.tar.gz到/usr/local/src目录
tar zxvf 2.2.4.tar.gz #解压
cd phpredis-2.2.4
#进入安装目录
/usr/local/php/bin/phpize
#用phpize生成configure配置文件
./configure --with-php-config=/usr/local/php/bin/php-config
#配置
make
#编译
make install
#安装
PHP7:
cd && wget -c https://github.com/phpredis/phpredis/archive/php7.zip && unzip
php7.zip && cd phpredis-php7 && /usr/local/php/bin/phpize && ./configure
--with-php-config=/usr/local/php/bin/php-config && make && make install && make
test
PHP7以下:
cd && wget
https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz && tar zxvf
2.2.4.tar.gz && cd phpredis-2.2.4 && /usr/local/php/bin/phpize && ./configure
--with-php-config=/usr/local/php/bin/php-config && make && make install && make
test
安装完成之后,出现下面的内容表示安装完成,需要配置PHP.ini:
+-----------------------------------------------------------+
| ! ERROR !
|
| The test-suite requires that proc_open() is available. |
| Please check if you disabled it in php.ini.
|
+-----------------------------------------------------------+
7,配置php支持
vi /usr/local/php/etc/php.ini
修改:先搜索有没有此项
extension="redis.so" #WIN中是:
extension=php_redis.dll
session.save_handler = redis
#原值:files
session.save_path = “tcp://127.0.0.1:6379″
#原值:/tmp,且未启用
session.auto_start = 0
#原值:0
sed -i '/Module Settings/i ; redis &
scwc\n;;;;;;;;;;;;;;;;;;;\nextension=redis.so\n;;;;;;;;;;;;;;;;;;;'
/usr/local/php/etc/php.ini
sed -i 's/^\(session.save_handler\).*/\1=redis/' /usr/local/php/etc/php.ini
sed -i 's/^;\(session.save_path\).*/\1="tcp:\/\/127.0.0.1:6379"/'
/usr/local/php/etc/php.ini
sed -i 's/^\(session.auto_start\).*/\1=0/' /usr/local/php/etc/php.ini
如果不想修改php.ini可这样
ini_set("session.save_handler","redis");
ini_set("session.save_path","tcp://127.0.0.1:6379″);
如果配置文件/etc/redis.conf里设置了连接密码requirepass保存session的时候会报错,save_path这样写
tcp://127.0.0.1:6379?auth=authpwd 即可。
有网友提到相对于文件存储的session,redis或者memcache存储session值会有并发一致性的问题,这块并没有细测过。
8,重启,直接lnmp restart
如果Redis没有起作用,php -m查看是否加载成功。
9,测试PHP读写:
vi /home/wwwroot/default/redis.php
<?php
session_start();
$_SESSION['redis'] = "test redis". time();
echo "Redis session_id:\t\t\t".session_id()."<br>";
echo "刚存入的值:\t\t\t".$_SESSION['redis']."<br>";
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
echo "上一次的存入值:\t\t\t". $redis->get("PHPREDIS_SESSION:".session_id());
打开:http://192.168.2.122/redis.php 显示以下内容表示一切正常。
session_id:2ieemhttqhjt3mt46fb2sqbkr4
value:test redis
Redis:redis|s:10:"test redis";
/usr/local/redis/bin/redis-cli
127.0.0.1:6379> keys *
1) "PHPREDIS_SESSION:2ieemhttqhjt3mt46fb2sqbkr4"
127.0.0.1:6379>
完整批处理
cd && wget http://download.redis.io/releases/redis-3.0.5.tar.gz && tar -zxvf redis-3.0.5.tar.gz && cd redis-3.0.5 && make && cd src && make install PREFIX=/usr/local/redis && cd .. && mkdir /usr/local/redis/etc && cp redis.conf /usr/local/redis/etc/redis.conf && cd /usr/local/src && wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz && tar zxvf 2.2.4.tar.gz && cd phpredis-2.2.4 && /usr/local/php/bin/phpize && ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install && make test
vi /usr/local/redis/etc/redis.conf 将daemonize的值改为yes
vi /usr/local/php/etc/php.ini
extension="redis.so" #WIN中是:
extension=php_redis.dll
session.save_handler = redis
#原值:files
session.save_path = “tcp://127.0.0.1:6379″
#原值:/tmp,且未启用
vi /etc/rc.d/rc.local
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf