首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP连接失败

PHP连接失败
EN

Stack Overflow用户
提问于 2016-05-18 17:09:59
回答 2查看 1.3K关注 0票数 16

最近,我刚刚开始在Laravel应用程序中使用AWS ElastiCache。该应用程序运行在一个ELB后面的两个实例上,处理大约6-10个请求/秒。当我启动应用程序时,一切都进行得很好,但随后我开始接收到具有高延迟和超时的应用程序的连接错误。错误信息如下:

代码语言:javascript
复制
[2016-05-17 07:28:25] production.ERROR: exception 'RuntimeException' with message 'Could not establish Memcached connection.' in /srv/ensemble/laravel/vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php:38 Stack trace: 
#0/srv/ensemble/laravel/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(164): Illuminate\Cache\MemcachedConnector->connect(Array)
#1 /srv/ensemble/laravel/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(102): Illuminate\Cache\CacheManager->createMemcachedDriver(Array) #2 /srv/ensemble/laravel/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(77): Illuminate\Cache\CacheManager->resolve('memcached')...

在我的设置中,我使用:

  • Laravel 5.2
  • AWS ElastiCache t2.小
  • php5-memcached模块libmemcached 1.0.18

为了暂时解决我的问题,我在一个单独的EC2实例上安装了memcached,并且没有任何问题。

我的问题是,我是否需要使用AWS ElastiCache PHP客户端而不是php5-memcached来使用Elasticache?我当时的印象是,Elasticache是Memcached的替代品,可以在没有问题的情况下使用。

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

发布于 2020-05-01 12:39:48

在AWS中使用管理服务时,很少有什么重要的考虑因素,例如Elasticache。

  1. 默认情况下,AWS的弹性缓存是不能公开访问。只能通过内部IP访问。(但在VPN连接、直接连接、basion主机等公共访问选项方面也存在工作。)
  2. Elasticache不提供任何安全性,例如密码(这就是为什么使用网络Nacl或后来的应用程序安全组来限制它是很重要的)

关于您的问题,应用程序无法建立到缓存实例的连接,此错误显示该问题发生在网络的某个地方。这个问题是很普遍的。

最有可能是

  1. EC2实例没有可用于访问elasticache端点的路由。如果您从不同的VPC (与应用程序EC2使用的VPC不同)提供了弹性缓存,则会出现此问题。要解决这个问题,要么将缓存移动到EC2驻留的同一个VPC,要么需要对等2 VPC并创建本地路由来建立连接。
  2. EC2实例具有有效的路由,或者它们位于同一个VPC中,但是它被Elasticache (SG)阻塞。要解决这个问题,您需要检查您的EC2私有IP是否被列出到带有memcache端口的Elasticache入站规则。allow IP 172.0.1.1/32 to port 11211

票数 2
EN

Stack Overflow用户

发布于 2019-08-23 17:30:50

检查您的安全组设置是什么,并将它们设置为0.0.0.0/32(不是安全的--向每个人开放,但是是一种很好的测试方法),那么如果这样做有效,只需将其设置为您的公共ip地址(您可以在这里找到https://www.whatismyip.com/what-is-my-public-ip-address/ )。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37306112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档