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;"
※動作状況を確認できます。