2012-04-12 46 views
2

我有一个正在运行的弹性IP地址的EC2服务器,它正在愉快地运行memcached,beanstalkd分别在端口11211和11300侦听外部IP。我用服务器的AMI来升级大小,当服务器重新启动时,memcached和beanstalkd都没有运行。因为这是init.d重新启动,但是从命令行运行的守护进程beanstalkd运行memcached。将memcached和beanstalk绑定到EC2实例上的外部IP

然而,几个小时后,我似乎无法弄清楚如何让他们再次运行。

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> 

当我尝试和运行memcached作为root的命令行:我得到

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,没有任何东西已经绑定到那个端口上:

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进程列表,没有其他的memcached运行。

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服务运行并绑定,但是我似乎无法通过弹性IP访问memcached。

我必须对你做一些愚蠢和明显的事情。谢谢你的帮助。

回答

7

绑定到应该公开的0.0.0.0。

相关问题