Amazon-Web-Services
如何使用 PHP memcached 通過 Auto Scaling 進行會話儲存?
我已經
memcached
在我的伺服器中安裝了,我已經將預設值修改php.ini
為:session.save_handler = memcached session.save_path = "127.0.0.1:11211"
我正在使用帶有 Auto Scaling 和負載均衡器的 Amazon EC2 實例(Ubuntu 16.04 LTS),但我對
PHP memcached
. 首先,解釋我的問題:我已經儲存sessions
在我的Server A
並且我還有另一個Server B
也在執行。但是,當我停止Server A
(我已連接sessions
)時,負載均衡器會將我重定向到Server B
並且看起來sessions
失去了,因為我與我的網站斷開連接,他要求我再次登錄。我閱讀了這段摘錄,用於在多個伺服器上使用 memcached 進行會話儲存(從這裡):
在您的 php.ini 中,您應該將 session.save_path 設置為 memcached 伺服器列表,例如 server1:11211、server2:11211。
但是我怎麼能說我正在使用 Auto Scaling 並且我可能有“n”個伺服器呢
server1:11211
?server2:11211
您的 memcached 伺服器應該在您的 ASG 之外。如您所知,狀態不能儲存在 ASG 實例中。因此,要麼使用 AWS 的 Elasticache 服務,要麼執行您自己的 memcached 伺服器,然後將您的 ASG 實例指向那裡。