amazon-ec2 - 将 memcached 和 beanstalk 绑定(bind)到 EC2 实例上的外部 IP

标签 amazon-ec2 memcached

我有一个正在运行的 EC2 服务器,它有一个弹性 IP 地址,它正在愉快地运行 memcached 和 beanstalkd,分别在端口 11211 和 11300 监听外部 IP。我使用服务器的 AMI 来升级大小,当服务器重新启动时,memcached 和 beanstalkd 都没有运行。为 memcached 带来麻烦,因为这是要重新启动的 init.d,但 beantalkd 是作为守护进程从命令行运行的。

但是,几个小时后,我似乎无法弄清楚如何让它们重新启动并运行。

对于 memcached,配置文件如下:

# Default connection port is 11211
-p 11211

# Specify which IP address to listen on. The default is to listen on all IP addresses
-l <EXTERNAL IP ADDRESS>

当我尝试从命令行以 root 身份运行 memcached 时:

memcached -d -m 1024 -u root -l <EXTERNAL IP ADDRESS> -v -p 11211

我得到:

bind(): Cannot assign requested address
failed to listen on TCP port 11211: Cannot assign requested address

然而,当我查看 netstat 时,没有任何内容绑定(bind)到该端口:

netstat -ant | grep LIST
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN

如果我 grep 进程列表,则没有其他内存缓存在运行。

Iptables 报告如下:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:11300 state ESTABLISHED 
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:11211 state ESTABLISHED 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

EC2 实例使用与原始服务器相同的安全组,因此所需的端口已打开。

最后,可能提示 ifconfig IP 地址与弹性 IP 地址不同。如果我尝试监听 inet 添加: Bcast:memcached 服务运行并绑定(bind)但是我似乎无法通过弹性 IP 访问 memcached。

我一定是在做一些对你来说显而易见的蠢事。感谢您的帮助。

最佳答案

绑定(bind)到应该公开的 0.0.0.0。

关于amazon-ec2 - 将 memcached 和 beanstalk 绑定(bind)到 EC2 实例上的外部 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10124963/

相关文章:

ruby-on-rails - Memcached 作为 Rails 中的对象存储

java - 需要澄清 hibernate 二级缓存

java - 如何创建安全组以允许java代码中的所有端口

ubuntu - 通配符 SSL 未显示在子域上

java - 将证书添加到 AWS EC2 客户端

amazon-web-services - AWS CloudFormation EC2 用户数据 - 使用 "!If"

amazon-web-services - 如果它在 ec2 实例中运行,如何检查我的 Elasticsearch 是否启动

python-memcached : Unable to memcache a mysql output.(UnpickleableError:无法腌制对象)

database - 如果数据不断变化,你缓存什么? (以推特为例)

javascript - 将来自mysql的数据存储在本地存储中