更多>>PHP程序设计 Blog

lnmp环境下安装redis并设置开机自启动

详细介绍了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

111.jpg

再次运行时,数据 from cache

222.jpg


评论列表

暂时没有相关记录

发表评论

用来接收审核回复提醒,请认真填写

  换一张?
captcha
看不清?点击图片换一张