Redis配置-主從服務器-phpredis-phpRedisAdmin-php調用

1.準備開發環境

yum groupinstall -y "Development Tools" "Server Platform Development"

2.更新時間

3.下載redis-3.2.1.tar.gz,網站地址是:www.redis.io

4.編譯安裝

tar xf redis-3.2.1.tar.gz
cd redis-3.2.1
make

啓動redis服務,默認的端口號是6379

注意:有時因爲redis配置文件不一樣的原因,我們在啓動服務配置文件時候,需要指定配置文件,不指定爲默認配置文件

切換目錄至源碼包文件中

[root@centos7 src]# pwd
/root/redis-3.2.1/src
[root@centos7 src]# redis-server ./../redis.conf

查看是否開啓服務

[root@centos7 src]# netstat -tunlp | grep 6379
tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN      
1387/redis-server 0

進入交互式命令

[root@centos7 src]# redis-cli -p 6379
127.0.0.1:6379>

配置一個主從服務器,master/slave其實配置都是雷同的,因此簡單點直接克隆剛纔配置的服務器

剛纔的服務器的ip地址爲192.168.1.104

克隆後的ip地址爲192.168.1.107,作爲一個slave服務器

編輯slave服務器的配置文件/root/redis-3.2.1/redis.conf,修改以下相關參數

bind 0.0.0.0
daemonize yes
slaveof 192.168.1.104 6379

保存退出後開啓redis服務即可

回到192.168.1.104的master主機上進行測試

[root@centos7 src]# redis-cli -p 6379
127.0.0.1:6379> info
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.1.107,port=6379,state=online,offset=631,lag=1
master_repl_offset:631
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:630

在192.168.1.107的slave主機上進行測試

[root@centos7 src]# redis-cli -p 6379
127.0.0.1:6379> info
# Replication
role:slave
master_host:192.168.1.104
master_port:6379
master_link_status:up                ------->連接成功
master_last_io_seconds_ago:7
master_sync_in_progress:0
slave_repl_offset:617
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

master服務器可寫,例如

在192.168.1.104master上

127.0.0.1:6379> set today 1
OK
127.0.0.1:6379> get today
"1"
127.0.0.1:6379>

在192.168.1.107slave上

127.0.0.1:6379> get today
"1"
127.0.0.1:6379>

下面測試lamp環境中的使用

準備環境:

yum install -y apr apr-util httpd php php-devel php-mysql mariadb mariadb-server

lamp主機爲192.168.1.106

安裝phpredis的擴展,

下載地址:wget https://github.com/phpredis/phpredis/archive/2.2.7.tar.gz

解壓後進入phpredis中需要生成配置文件,因此執行phpize

配置編譯安裝

./configure --with-php-config=/usr/bin/php-config --enable-redis
make
make install


配置php加載擴展

vim /etc/php.ini
在extension處添加extension=redis.so

在web根目錄下添加一個首頁(注意httpd.conf中添加DirectoryIndex index.php)

cat /var/www/html/index.php
<?php
    phpinfo();
?>

在瀏覽器中查看是否有擴展


wKioL1dwuBrikJByAABvXPTvqy4326.jpg

驗證php是否能使用redis

在根目錄下創建一個文件夾爲Redis

mkdir redis
cat redis/test.php
<?php
    $redis=new Redis();
    $redis->connect('192.168.1.104','6379');
    $redis->set('name','xuelong');
    echo $redis->get('name');
?>

查看http://192.168.1.106/redis/test.php

wKiom1dwuXvTupq0AAAW8jmbKu4525.jpg

phpRedisAdmin後臺管理配置

下載地址:wget https://github.com/ErikDubbelboer/phpRedisAdmin/archive/v1.1.0.tar.gz

下載後解壓到web目錄下,進入phpRedisAdmin-1.1.0目錄

克隆一個文件到phpRedisAdmin-1.1.0下,命令爲:

git clone https://github.com/nrk/predis.git vendor

配置連接服務器地址的配置文件在phpRedisAdmin-1.1.0/includes/config.sample.inc.php,因此備份該文件,且重名爲config.inc.php

修改配置文件爲:

  array(
      'name' => 'Remote server', // --->自己隨意命名.
      'host' => '192.168.1.104',    --->Redis服務器的地址
      'port' => 6379,    --->端口號
      'filter' => '*'

      // Optional Redis authentication.
      //'auth' => 'redispasswordhere' // Warning: The password is sent in plain-text to the Redis server.
    ),

wKiom1dwu3iSEL8fAABcKcFChh0175.jpg

php會話保存在redis中

編輯192.168.1.104web主機上的/etc/php.ini文件,定義session的存儲方式爲:

session.save.handler=redis

session.save_path="tcp://192.168.1.104:6379"

或者,redis.conf提供認證的時候使用以下的方式;

session.save_path="tcp://192.168.1.104:6379?auth=password

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章