文档章节

Nginx+Redis实现反向代理和Session共享(二)

ali安东尼
 ali安东尼
发布于 2017/07/06 15:52
字数 532
阅读 17
收藏 0
点赞 0
评论 0

###Session在PHP默认存放形式

1.PHP处理Session默认是创建会话数据文件,以文件的形式存储会话信息;

2.通过查看<?php echo phpinfo();得知,Session的存放路径:session.save_path = /var/lib/php/session

###文件形式存放Session的劣势:

1.如果用户数量非常大,文件操作的I/O开销就会很大,会严重影响系统的执行效率。

2.如果多个系统直通之间需要共享session数据,而且系统之间是在不同的服务器上的,那文件存放方式就不可以实现这样的需求了。

###Session的其他存放形式

1.Session可以用数据库、NFS或SAMBA、Redis、memcached进行session的存放。
2.当然最优的方式还是使用Nosql中的Redis或者memcached这种键值(Key-Value)存储数据库存放最合适不过了。

###Redis存放Session

PHP默认就支持保存session到redis,不需任何额外代码。

修改php配置,总共有3种方法,如下选择其中一种即可:

修改php.ini

a. 打开 php.ini 文件,设置下面两个值:
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
b. 如果Redis有密码,用下面的配置:
session.save_path = "tcp://127.0.0.1:6379?auth=password"
c. 配置完成后,重启PHP服务

配置完成后,重启PHP-FPM (以PHP-FPM形式启动)

a. PHP-FPM的配置文件/etc/php-fpm.conf或者/etc/php-fpm.d/*.conf中,也有session的配置。
	而且它们的session配置优先级比php.ini高,会覆盖php.ini中的配置。所以,也直接在这里面改:  
	php_value[session.save_handler] = redis
	php_value[session.save_path] = "tcp://127.0.0.1:6379"
c. 如果用php.ini的配置,则需要把这两行用;注释掉。避免出现优先级问题
d. 然后重启PHP-FPM。

代码添加方式

ini_set('session.save_handler', 'redis');
ini_set('session.save_path', 'tcp://127.0.0.1:6379');

###案例测试

1.下面案例是使用代码添加方式在Redis存放SESSION。

2.文件说明:

login.php是登录页面。任何操作必须先登录。

session.php主要是打印session数据,登录之后才可以看到的。

login.php

session.php

由睿江云提供,想了解更多,请登陆www.eflycloud.com

© 著作权归作者所有

共有 人打赏支持
ali安东尼
粉丝 3
博文 192
码字总数 173101
作品 0
广州
Nginx--Session共享问题

在Nginx做反向代理时,面对集群,如何保证Session的一致性。 第一种是以负载均衡服务器本身提供的session共享策略,每种服务期的配置是不一样的并且nginx本身是没有的。 第二种是利用web容器...

btwangzhi ⋅ 2017/11/26 ⋅ 0

tomcat的session问题

记录客户端操作我们一般使用cookie进行客户身份识别,session存储客户端的信息,session保存在服务器端。当我们负载均衡服务后,客户端请求定位到另外一台服务器,session信息在另外一台服务...

Ailu0li ⋅ 2017/02/11 ⋅ 0

nginx负载均衡实现tomcat集群方案简要小结

重点两部分:一、负载均衡二、tomcat集群 所谓tomcat集群,就是可以向外提供并行服务的多台机器,任何一台服务器宕机,其它服务器可以替代它向外提供服务,而不影响用户访问。 nginx是一个常...

天下杰论 ⋅ 2015/03/11 ⋅ 1

使用nginx和tomcat搭建集群环境

一、先解释下什么是反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet上...

三平行者 ⋅ 2016/03/11 ⋅ 1

了解:Apache+Tomcat实现负载均衡

反向代理负载均衡 (Apache2+Tomcat7/8) 使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的。这种代理方式...

凡尘里的一根葱 ⋅ 2015/11/06 ⋅ 0

关于集群中session共享理解的问题?

最近在研究集群和分布式的实现,感觉非常吃力。 集群是一套完整的系统部署到不同的服务器(tomcat)中,每个服务器中部署的程序都是一样的,通过nginx反向代理就可以根据权重把用户的请求转发...

颖辉小居 ⋅ 2017/02/03 ⋅ 6

从 0 到 1,Java Web 网站架构搭建的技术演进

初始搭建 最开始,就是各种框架一搭,然后扔到 Tomcat 容器中跑,这时候我们的文件、数据库、应用都在一个服务器上。 服务分离 随着系统的上线,用户量也会逐步上升,很快一台服务器已经满足...

雨中沙漠 ⋅ 2017/11/30 ⋅ 0

分布式session一致性问题

转载自 :https://www.cnblogs.com/study-everyday/p/7853145.html session的概念 什么是session? 服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文...

zengqiang1 ⋅ 03/29 ⋅ 0

web及性能调优

nginx 的性能调优 1 修改CPU的核心数对应的Nginx work进程 这个一般是你CPU核心数的两倍,方正是倍数,具体要几倍可看具体硬件配置 2 修改文件描述符 65536 ulimit -n 永久生效可改/etc/sysc...

fangyiya ⋅ 2017/04/12 ⋅ 0

.Net分布式架构(一):Nginx实现负载均衡

原文:.Net分布式架构(一):Nginx实现负载均衡 一:负载均衡简介   负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服...

杰克.陈 ⋅ 2017/12/07 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 49分钟前 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 2

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部