2012-04-12 43 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。

相關問題