|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
RedHatCentOS等等.学习linux不是逛自由市场,选定版本就要静下心来学习.不要今天换版本明天要升级.这样对你没有好处。
Session一样平常都指时域。在盘算机术语中,Session是指一个终端用户与交互体系举行通讯的工夫距离,一般指从注册进进体系到刊出加入体系之间所经由的工夫和假如必要的话,大概另有必定的操纵空间。
Session一样平常都指时域。在盘算机术语中,Session是指一个终端用户与交互体系举行通讯的工夫距离,一般指从注册进进体系到刊出加入体系之间所经由的工夫和假如必要的话,大概另有必定的操纵空间。
一般情形下能把session改成cookie,就可以避开session的一些坏处,在夙昔看的一本J2EE的书上,也指明在集群体系中不克不及用session,不然惹出祸根来就欠好办。假如体系不庞大,就优先思索可否将session往失落,修改起来十分贫苦的话,再用上面的举措。
使用服务器自行完成共享
已知的,php能够用数据库或memcached来保留session,从而在php自己创建了一个session集群,用如许的体例能够令session包管不乱,即便某个节点有妨碍,session也不会丧失,合用于较为严厉但哀求量不高的场所。可是它的效力是不会很高的,不合用于对效力请求高的场所。
以上两个举措都跟nginx没甚么干系,上面来讲说用nginx该怎样处置:
ip_hash
nginx中的ip_hash手艺可以将某个ip的哀求定向到统一台后端,如许一来这个ip下的某个客户端和某个后端就可以创建起安定的
session,ip_hash是在upstream设置中界说的:
代码以下:
upstreambackend{
server127.0.0.1:8001;
server127.0.0.1:8002;
ip_hash;
}
ip_hash是简单了解的,可是由于仅仅能用ip这个因子来分派后端,因而ip_hash是出缺陷的,不克不及在一些情形下利用:
1、nginx不是最前真个服务器。ip_hash请求nginx必定是最前真个服务器,不然nginx得不到准确ip,就不克不及依据ip作hash。比如利用的是squid为最前端,那末nginx取ip时只能失掉squid的服务器ip地点,用这个地点来作分流是一定庞杂的。
2、nginx的后端另有别的体例的负载平衡。假设nginx后端又有别的负载平衡,将哀求又经由过程别的的体例分流了,那末某个客户真个哀求一定不克不及定位到统一台session使用服务器上。这么算起来,nginx后端只能间接指向使用服务器,大概再搭一个squid,然后指向使用服务器。最好的举措是用location作一次分流,将必要session的部分哀求经由过程ip_hash分流,剩下的走别的后端往。
upstream_hash
为懂得决ip_hash的一些成绩,可使用upstream_hash这个第三方模块,这个模块多半情形下是用作url_hash的,可是其实不妨害将它用来做session共享:
假设前端是squid,他会将ip到场x_forwarded_for这个http_header里,用upstream_hash能够用这个头做因子,将哀求定向到指定的后端:
代码以下:
hash$http_x_forwarded_for;
如许就改成了使用x_forwarded_for这个头作因子,在nginx新版本中可撑持读取cookie值,以是也能够改成:
代码以下:
hash$cookie_jsessionid;
虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行。 |
|