背景: LNMP 環境(centos7)
一、 安裝redis
1.下載,解壓,編譯
$ 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。然后拷貝到一個目錄下。
(注意: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服務
$ /usr/redis/redis-server /usr/redis/redis.conf
當啟動后可能會停止不了;一直處於啟動的界面,(Ctrl+c 退出)
如果停止不了則關掉;
然后在/usr/redis下修改redis.conf 找到daemonize no 改為yes;保存;
重新啟動即可
4. 重新進入並啟動測試
二、安裝php-redis擴展
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)
service nginx restart
service php-fpm restart
4 查看phpinfo
三、設置開機啟動:使用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
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 #
再設置即可成功。
#設置為開機自啟動服務器
chkconfig redisd on
#打開服務
service redisd start
#關閉服務
service redisd stop
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 、 輸入以下代碼
<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->auth(“666”); $redis->set('redistest','666666'); echo $redis->get('redistest'); ?>