Linux部署Redis及PHP-redis擴展


Redis是一個key-value存儲系統,屬於我們常說的NoSQL。它遵守BSD協議、支持網絡、可基於內存亦可持久化的日志型、Key-Value數據庫,並提供多種語言的API。它常用在緩存、隊列、Pub/Sub、計數統計、排行榜、投票與排序等場景。

本文介紹如何在CentOS7上安裝redis,以及讓PHP支持redis的php-redis擴展庫。

安裝Redis

Redis官方下載地址:http://redis.io/download,下載最新穩定版本。

當前穩定版本是4.0.9,下載並安裝:

1 $ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
2 $ tar -zxvf redis-4.0.9.tar.gz
3 $ mv redis-4.0.9 /usr/local/redis
4 $ cd /usr/local/redis
5 $ make 
6 $ make install

make完后,在redis-4.0.9目錄下會出現編譯后的redis服務程序redis-server,還有用於測試的客戶端程序redis-cli,兩個程序位於安裝目錄 src 目錄下:

啟動redis服務

1 $ cd src
2 $ ./redis-server

注意這種方式啟動redis 使用的是默認配置。也可以通過啟動參數告訴redis使用指定配置文件使用下面命令啟動

1 $ cd src
2 $ ./redis-server redis.conf

redis.conf是一個默認的配置文件。我們可以根據需要使用自己的配置文件。 啟動redis服務進程后,就可以使用測試客戶端程序redis-cli和redis服務交互了。 比如:

1 [root@localhost src]$ ./redis-cli
2 127.0.0.1:6379> ping
3 PONG

注意:這里如果出錯我門修改下redis.conf

1 $ vim /usr/local/redis/redis.conf
1 daemonize no
2 改為
3 daemonize yes

接下來設置密碼和后台運行方式。

1 $ vim /usr/local/redis/redis.conf
2 3 requirepass foobared
4 改為
5 requirepass 123321  #你的密碼

配置redis服務管理腳本

1 $ cp /usr/local/redis/utils/redis_init_script /etc/init.d/redis

修改redis

1 vim /etc/init.d/redis
3 修改
4 CONF="/usr/local/redis/redis.conf"

啟動redis服務

$ /etc/init.d/redis start
Starting Redis server...
12797:C 30 May 22:53:34.030 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
12797:C 30 May 22:53:34.030 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=12797, just started
12797:C 30 May 22:53:34.031 # Configuration loaded

這個時候你就可以看到redis服務以及起來,默認占用6739端口。

安裝PHP redis擴展

開始在 PHP 中使用 Redis 前,我們需要確保已經安裝了redis服務,且你的機器上能正常使用PHP。 接下來讓我們安裝 PHP redis 驅動,下載地址為:https://github.com/phpredis/phpredis/releases。

下載並安裝最新版

1 $ wget https://github.com/phpredis/phpredis/archive/4.0.2.tar.gz
2 $ tar -zxvf 4.0.2.tar.gz
3 $ cd phpredis-4.0.2
4 $ /usr/local/php/bin/phpize              # php安裝后的路徑
5 $ ./configure --with-php-config=/usr/local/php/bin/php-config
6 $ make && make install

將redis.so添加到php.ini中

1 $ echo 'extension=redis.so' >> /usr/local/php/etc/php.ini

重啟php-fpm服務

1 $ /etc/init.d/php-fpm restart

查看redis擴展是否安裝成功

1 $ php -m | grep redis
2 redis

測試

1 <?php
2     //連接本地的 Redis 服務
3    $redis = new Redis();
4    $redis->connect('127.0.0.1', 6379);
5    $redis->auth('123456');
6    echo "Connection to server sucessfully";
7    //查看服務是否運行
8    echo "Server is running: " . $redis->ping();

當前,我系統安裝的PHP版本是7.0,實驗證明PHP7.0已經支持Redis了。

如果執行phpize時報錯: Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.

解決方法:

安裝依賴 autoconf

1 $ yum -y install autoconf

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM