我在单个AWS EC2 服务器上安装了 MediaWiki 应用程序,该服务器具有自己的 RDS数据库服务器,效果很好< / strong>即可。 出于负载平衡的目的,我安装了另一台带负载均衡器的EC2服务器来处理额外的Web服务器流量。
我编辑了LocalSettings.php并将其指向负载均衡的URL $ wgServer =“http://xxxxxxxxx.elb.amazonaws.com”,然后我重新设置了apache服务器。
应用程序不再一直工作 - 这里有一些症状。
在我关闭负载均衡器中的一个Web服务器之后 - 一切都运行良好。我怀疑这是由于会话状态等。
如何让应用程序在负载均衡的环境中运行?
我还查看了https://meta.wikimedia.org/wiki/Help:Logging_and搜索到的信息,但它没有给我提供解决方法的线索。
从https://releases.wikimedia.org/mediawiki/1.22/mediawiki-1.22.6.tar.gz安装在EC2 Linux服务器上。
答案 0 :(得分:3)
是的,这是因为用户的会话未在两个EC2实例中分发。您可以更改Mediawiki存储会话数据的方式。这个回答describes使用MySQL。在两个EC2实例上对Mediawiki进行更改后,用户&#39;会话将可用于两个实例。
(不太理想)替代方案是在AWS ELB上配置Sticky Sessions。
答案 1 :(得分:0)
您也可以使用AWS sdk(https://aws.amazon.com/ru/blogs/aws/scalable-session-handling-in-php-using-amazon-dynamodb/)中的DynamoDB会话处理,但需要为Mediawiki编写微小的扩展名。