gpt4 book ai didi

session - Yii session 在多服务器中不起作用

转载 作者:行者123 更新时间:2023-12-02 02:04:34 24 4
gpt4 key购买 nike

我有 1 个负载平衡服务器和 2 个 Web 服务器:Server1 和 Server2。它们都与数据库服务器连接。我的问题:我正在使用 Yii session 来控制 session 。成功登录Server1后,负载均衡服务器重定向到Server 2=> 它不保留我之前登录的 session (server1)

如何在 Server2 中保持 session

最佳答案

您有几个选择:

1) 如果您的负载均衡器支持,您可以启用 session 持久性,以便用户始终被发送到与他们最初访问的服务器相同的服务器。这样做的好处是,如果您不想更改任何代码,则可以轻松设置。缺点是,如果其中一台服务器出现故障,您将丢失该节点上的所有 session 。

2) 在node1 和node2 之间设置共享memcache(不是memcached) session 。相关设置如下。

php.ini

session.save_handler memcache
session.save_path tcp://<ip1>, tcp://<ip2>

memcache.ini

memcache.allow_failover 1
memcache.default_port 11211
memcache.hash_strategy standard
memcache.max_failover_attempts 20

设置起来有点棘手,但是一旦你让它工作起来,如果其中一台服务器出现故障,你就可以在两台服务器之间实现完全冗余。

3) 设置第三个节点来管理 session 并将 php session.save_path 配置为该服务器的 IP。这样做的好处是 session 现在由第三台服务器管理。缺点是您会失去冗余,如果该服务器出现故障,您就会丢失 session 。

关于session - Yii session 在多服务器中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18627999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com