LNMP redis 安裝、PHPredis擴展配置、服務器自啓動、redis認證密碼

背景: LNMP 環境(centos7)php

 

1、 安裝redisnginx

1.下載,解壓,編譯redis

$ cd /usr/local
$ 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。而後拷貝到一個目錄下。centos

(注意:redis.conf並不在src目錄下面,它在解壓的根目錄下面)服務器

mkdir /usr/redis
cp redis-server  /usr/redis     (redis的src目錄)
cp redis-benchmark /usr/redis   (redis的src目錄)
cp redis-cli /usr/redis     (redis的src目錄)
cp redis.conf /usr/redis   (redis目錄)
cd /usr/redis

 

3.啓動redis服務php-fpm

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

當啓動後可能會中止不了;一直處於啓動的界面,(Ctrl+c 退出)
若是中止不了則關掉;
而後在/usr/redis下修改redis.conf 找到daemonize no 改成yes;保存;
從新啓動便可

 4. 從新進入並啓動測試測試

 

 2、安裝php-redis擴展ui

1 下載PHPredis擴展文件。並上傳到 /usr/local
地址:http://pecl.php.net/package/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                    
3 PHP配置文件php.ini最後一行, 加載redis擴展
extension=redis.so

 3 重啓服務(nginx,php-fpm)centos7

service nginx restart

service php-fpm restart

  4 查看phpinfospa

 

3、設置開機啓動:使用Redis啓動腳本設置開機自啓動

  推薦在生產環境中使用啓動腳本方式啓動redis服務。啓動腳本 redis_init_script 位於位於Redis的 /utils/ 目錄下。

  (如下是我修改事後的腳本,已測試,能夠直接使用)

#!/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

 

 1. 將以上啓動腳本複製到/etc/init.d目錄下,本例將啓動腳本命名爲redisd(一般都以d結尾表示是後臺自啓動服務)。

cp redis_init_script /etc/init.d/redisd

二、設置權限

chmod 755 redisd

 三、啓動測試

/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
#

 再設置便可成功。

#設置爲開機自啓動服務器
chkconfig redisd on
#打開服務
service redisd start
#關閉服務
service redisd stop

 五、關機重啓測試

reboot
 
4、  添加認證密碼

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 重啓服務器


5、 測試

1 、 在你服務器下新建PHP文件
2 、 輸入如下代碼

<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->auth(「666」);
$redis->set('redistest','666666');
echo $redis->get('redistest');

?>
相關文章
相關標籤/搜索