AWS

Amazon Linux2 Redisクライアント設定+PHP

 

 

Apache, PHPのインストール

# yum install httpd php php-devel

 

 

Redisインストール

# amazon-linux-extras install redis4.0

 

 

php-pecl-redisのインストール

# yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum install --enablerepo=epel php-pecl-redis

 

 

PHPの設定

# vi /etc/httpd/conf.d/php.conf
 
(略)
 
#php_value session.save_handler "files"
#php_value session.save_path    "/var/lib/php/session"
php_value session.save_handler  "redis"
php_value session.save_path  "tcp://プライマリエンドポイント:6379"


具体例)
#php_value session.save_handler "files"
#php_value session.save_path    "/var/lib/php/session"
php_value session.save_handler  "redis"
php_value session.save_path  "tcp://xxxxx.pgyqgq.ng.0001.apne1.cache.amazonaws.com:6379"

 

 

WEBサーバを再起動して反映させて下さい。

# systemctl restart httpd

 

 

アクセス出来るか確認

# redis-cli -h xxxxx.pgyqgq.ng.0001.apne1.cache.amazonaws.com -p 6379

 

 

確認したらexit

xxxxx.pgyqgq.ng.0001.apne1.cache.amazonaws.com:6379> exit

[root@ip-172-31-26-240 session]#

 

 

 

 

動作確認

 

# vi /var/www/html/sess.php


<?php
session_start();


if($_SESSION['count'] == "")
{
        $_SESSION['count'] = 1;
        echo $_SESSION['count'];
}
else
{
        echo $_SESSION['count']++;
}

echo "<hr/>";
echo gethostname();

 

 

http://ロードバランサIP/sess.php

セッションが共有出来ているか、カウントの数字とWEBサーバホスト名によって確認できます。

 

 

 

モニターモード

 

# redis-cli -h xxxxx.pgyqgq.ng.0001.apne1.cache.amazonaws.com -p 6379

xxxxx.pgyqgq.ng.0001.apne1.cache.amazonaws.com:6379> monitor
OK

 

URLにアクセス毎にセッションが更新されることを確認出来ます。
http://ロードバランサIP/sess.php

 

1533794959.273652 [0 172.31.26.240:56748] "get" "PHPREDIS_SESSION:0c830repjnj23kvoub11m10mn1"
1533794959.274091 [0 172.31.26.240:56748] "setex" "PHPREDIS_SESSION:0c830repjnj23kvoub11m10mn1" "1440" "count|i:41;"

 

※動作状況を確認できます。

 

 

 

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)