更多>>PHP程序设计 Blog
来源:一度好 时间:2019-08-09 阅读:3892
详细介绍了lnmp环境下为PHP安装redis缓存,所需要下载的软件包和操作步骤,并设置使redis开机自启动。
一、准备工作
1、前提条件
lnmp环境已经搭建完毕,并且php能够正常访问,具体安装配置过程如下:
参见另一篇文章《LNMP服务器软件环境搭建 nginx+mysql+php 安装与配置详解》
2、所需软件
(1)服务器端redis redis-5.0.5
下载地址:https://redis.io/download
对应的链接地址:http://download.redis.io/releases/redis-5.0.5.tar.gz
(2)phpredis扩展 redis-5.0.2
下载地址:https://pecl.php.net/
搜索框里输入 redis 进行搜索,点击搜索的结果:redis,进入如下页面:
https://pecl.php.net/package/redis
下载最新的稳定版本,如下:
5.0.2stable2019-07-29redis-5.0.2.tgz (237.6kB)
对应的链接地址:https://pecl.php.net/get/redis-5.0.2.tgz
对应的github下载地址:https://github.com/phpredis/phpredis/
二、安装软件
1、安装redis
(1)进入redis存放目录
cd /www/lnmp
(2)解压缩软件包
tar -zxvf redis-5.0.5.tar.gz
(3)进入解压路径
cd /www/lnmp/redis-5.0.5
(4)安装
make
2、安装phpredis扩展
(1)进入redis扩展存放目录
cd /www/lnmp
(2)解压缩软件包
tar -zxvf redis-5.0.2.tgz
(3)进入解压路径
cd /www/lnmp/redis-5.0.2
(4)phpize编译
/www/source/php/bin/phpize
(5)预编译
./configure --enable-redis --with-php-config=/www/source/php/bin/php-config
(6)编译
make
(7)编译测试
make test
(8)安装
make install
查看:
ls /www/source/php/lib/php/extensions/no-debug-zts-20151012/
(9)修改php.ini
vi /www/source/php/lib/php.ini
查找:
:/extension=
在extension= 后面新增一行:
extension=redis.so
(10)重启服务
service nginx restart
service php-fpm restart
通过phpinfo()查看,可以发现,redis已经安装
三、配置
1、修改配置文件
vi /www/lnmp/redis-5.0.5/redis.conf
查找
:/daemonize
将 daemonize no 修改为 daemonize yes
说明:
是为了防止:当启动后可能会停止不了;一直处于启动的界面,(Ctrl+c 退出)
即:
By default Redis does not run as a daemon. Use 'yes' if you need it.
Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
默认情况下,redis不作为守护进程运行。如果需要,请使用“是”。
注意,redis会在后台监控时在/var/run/redis.pid中写入一个pid文件。
2、修改启动脚本代码
(1)备份文件
cp /www/lnmp/redis-5.0.5/utils/redis_init_script /www/lnmp/redis-5.0.5/utils/redis_init_script_bak
(2)修改代码
vi /www/lnmp/redis-5.0.5/utils/redis_init_script
增加:
# chkconfig: 2345 90 10
修改:
EXEC=/www/lnmp/redis-5.0.5/src/redis-server
CLIEXEC=/www/lnmp/redis-5.0.5/src/redis-cli
CONF="/www/lnmp/redis-5.0.5/redis.conf"
详细修改之处如下:
#!/bin/sh # chkconfig: 2345 90 10 # # Simple Redis init.d script conceived to work on Linux systems # as it does use of the /proc filesystem. ### BEGIN INIT INFO # Provides: redis_6379 # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Redis data structure server # Description: Redis data structure server. See https://redis.io ### END INIT INFO REDISPORT=6379 EXEC=/www/lnmp/redis-5.0.5/src/redis-server CLIEXEC=/www/lnmp/redis-5.0.5/src/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pid CONF="/www/lnmp/redis-5.0.5/redis.conf" case "$1" in …… ……
(3)另存为redis:
cp /www/lnmp/redis-5.0.5/utils/redis_init_script /etc/init.d/redis
3、设置redis开机自启动
(1)加入开机启动列表
chkconfig --add /etc/init.d/redis
查看自启动列表
chkconfig --list
(2)设置开机启动
chkconfig redis on
(3)重启机器测试
reboot
四、测试redis
1、进入网站根目录
cd /www/web/
2、创建测试文件
vi index.php
代码如下:
$redis = new redis(); $redis -> connect('127.0.0.1', 6379); $var = $redis -> get('mr'); if($var == '') { $mr = 'abcdefg'; $var = $redis -> set('mr', $mr, 20); echo $mr; echo '<br>from mysql'; } else { echo $var; echo '<br>from cache'; } echo '<hr>'; phpinfo();
设置的缓存时间为20秒,运行结果如下:
第一次运行时,数据 from mysql
再次运行时,数据 from cache
评论列表 |
暂时没有相关记录
|
发表评论