Nginx session会话保持

默认的程序会把session以文件形式保持到本地 PHP默认的保存方式

解决会话保持问题:

1.redis

2.mysql

3.memcache

Phpmyadmin 会话保持本地

会话共享保存到redis

1. 安装redis服务

[root@db01 ~]# yum -y install redis

2. 配置redis服务

   修改配置文件可以让其他服务器远程连接

   127.0.0.1:6379 # 默认只能本地连接

   [root@db01 ~]# vim /etc/redis.conf

[root@db01 ~]# grep 172.16.1.51 /etc/redis.conf

bind 127.0.0.1 172.16.1.51

3. 启动redis服务

   [root@db01 ~]# systemctl start redis

   [root@db01 ~]# systemctl enable redis

   WEB服务器可以测试是否远程连接Redis

   安装:

   [root@web01 ~]# yum -y install redis

   测试远程连接:

   [root@web01 ~]# redis-cli -h 172.16.1.51

172.16.1.51:6379> keys *

(empty list or set)

172.16.1.51:6379>

4. 修改PHP配置连接redis  默认PHP将session保存到了本地

    WEB01:

    vim /etc/php.ini

1231 session.save_handler = redis

    1264 session.save_path = "tcp://172.16.1.51:6379"

   # 使用分号注释

   [root@web01 ~]# vim /etc/php-fpm.d/www.conf

   395 ;php_value[session.save_handler] = files

   396 ;php_value[session.save_path]    = /var/lib/php/session

   # 重启PHP服务

   [root@web01 ~]# systemctl restart php-fpm

   WEB02: 在web01将配置文件同步给WEB02

   [root@web01 ~]# rsync -avz /etc/php.ini 172.16.1.8:/etc/

   [root@web01 ~]# rsync -avz /etc/php-fpm.d/www.conf 172.16.1.8:/etc/php-fpm.d/

   在WEB02查看是否同步了WEB01的数据

    [root@web02 ~]# grep redis /etc/php.ini

session.save_handler = redis

[root@web02 ~]#

[root@web02 ~]# grep 172.16.1.51 /etc/php.ini

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

    重启WEB02 PHP-FPM

[root@web02 ~]# systemctl restart php-fpm

你可能感兴趣的:(nginx,运维)