LNMP redis 安装、PHPredis扩展配置、服务器自启动、redis认证密码

4,624次阅读
没有评论

共计 2748 个字符,预计需要花费 7 分钟才能阅读完成。

背景:LNMP 环境(centos7)

 

一、安装 redis

1. 下载,解压,编译

$ wget http://download.redis.io/releases/redis-3.2.8.tar.gz
$ tar -xzf redis-3.2.8.tar.gz
$ cd redis-3.2.8
$ make

2 编译完成后,在 src 目录下,有四个可执行文件 redis-server、redis-benchmark、redis-cli 和 redis.conf。然后拷贝到一个目录下。

(注意:redis.conf 并不在 src 目录下面,它在解压的根目录下面)

LNMP redis 安装、PHPredis 扩展配置、服务器自启动、redis 认证密码
mkdir /usr/redis
cp redis-server  /usr/redis
cp redis-benchmark /usr/redis
cp redis-cli  /usr/redis
cp redis.conf  /usr/redis
cd /usr/redis
LNMP redis 安装、PHPredis 扩展配置、服务器自启动、redis 认证密码

3. 启动 redis 服务

$ /usr/redis/redis-server   /usr/redis/redis.conf

LNMP redis 安装、PHPredis 扩展配置、服务器自启动、redis 认证密码

 当启动后可能会停止不了;一直处于启动的界面,
 如果停止不了则关掉;然后在 /usr/redis 下修改 redis.conf 找到 daemonize no 改为 yes; 保存;重新启动即可 

4. 重新进入并启动测试

LNMP redis 安装、PHPredis 扩展配置、服务器自启动、redis 认证密码

 

二、安装 php-redis 扩展

1 下载 PHPredis 扩展文件。并上传到 /usr/local
 地址:http://pecl.php.net/package/redis
LNMP redis 安装、PHPredis 扩展配置、服务器自启动、redis 认证密码
tar -zxvf redis-3.2.8.tar.gz
cd redis-3.2.8  
yum install php-devel
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install                    
LNMP redis 安装、PHPredis 扩展配置、服务器自启动、redis 认证密码
3 PHP 配置文件 php.ini 最后一行,加载 redis 扩展 
extension=redis.so

3 重启服务(nginx,php-fpm)

service nginx restart

service php-fpm restart

4 查看 phpinfo

LNMP redis 安装、PHPredis 扩展配置、服务器自启动、redis 认证密码

 

 三、设置开机启动:使用 Redis 启动脚本设置开机自启动 

推荐在生产环境中使用启动脚本方式启动 redis 服务。启动脚本 redis_init_script 位于位于 Redis 的 /utils/ 目录下。

(以下是我修改过后的脚本,已测试,可以直接使用)

LNMP redis 安装、PHPredis 扩展配置、服务器自启动、redis 认证密码

#!/bin/sh
# chkconfig: 2345 90 10 # 加上这句话,且注释掉
# description: start and stop redis
#

PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/redis/redis-server
CLIEXEC=/usr/redis/redis-cli

PIDFILE=/var/run/redis.pid
CONF=”/usr/redis/redis.conf”
AUTH=”666″

case “$1” in
start)
if [-f $PIDFILE]
then
echo “$PIDFILE exists, process is already running or crashed.”
else
echo “Starting Redis server…”
$EXEC $CONF
fi
if [“$?”=”0”]
then
echo “Redis is running…”
fi
;;
stop)
if [! -f $PIDFILE]
then
echo “$PIDFILE exists, process is not running.”
else
PID=$(cat $PIDFILE)
echo “Stopping…”
$REDIS_CLI -p $REDISPORT SHUTDOWN
sleep 2
while [-x $PIDFILE]
do
echo “Waiting for Redis to shutdown…”
sleep 1
done
echo “Redis stopped”
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo “Usage: /etc/init.d/redisd {start|stop|restart|force-reload}” >&2
exit 1
esac

LNMP redis 安装、PHPredis 扩展配置、服务器自启动、redis 认证密码

 

1. 将以上启动脚本复制到 /etc/init.d 目录下,本例将启动脚本命名为 redisd(通常都以 d 结尾表示是后台自启动服务)。

cp redis_init_script /etc/init.d/redisd

2、设置权限

chmod 755 redisd

3、启动测试

/etc/init.d/redisd start

启动成功会提示如下信息:

Starting Redis server...
Redis is running...

使用 redis-cli 测试:

[root@redis ~]# /usr/local/redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"

 

4.  设置为开机自启动

此处直接配置开启自启动 chkconfig redisd on 将报错误:service redisd does not support chkconfig

#!/bin/sh
# chkconfig:   2345 90 10  # 加上这句话,且注释掉
# description:  Redis is a persistent key-value database
#

再设置即可成功。

LNMP redis 安装、PHPredis 扩展配置、服务器自启动、redis 认证密码
# 设置为开机自启动服务器
chkconfig redisd on
#打开服务
service redisd start
#关闭服务
service redisd stop
LNMP redis 安装、PHPredis 扩展配置、服务器自启动、redis 认证密码

5、关机重启测试

reboot
 四、添加认证密码

 1 打开配置文件:/usr/redis/redis.conf
#requirepass foobared

去掉注释,改为以下内容,认证密码就是:666

requirepass 666

2 重启 redis  , 在这里我重启。一直不能用。。干脆直接重启服务器

3  进入 redis

/usr/redis/redis-cli

会提示 error, 这是属于正常现象。

NOAUTH Authentication required.
auth  666

4 重启服务器

 五、 测试 
   
    1、在你服务器下新建 PHP 文件
    2、输入以下代码 
LNMP redis 安装、PHPredis 扩展配置、服务器自启动、redis 认证密码
<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->auth(“666”);
$redis->set('redistest','666666');
echo $redis->get('redistest');

?>
LNMP redis 安装、PHPredis 扩展配置、服务器自启动、redis 认证密码
正文完
 0
评论(没有评论)