私は、それぞれポート11211と11300で外部IPをリッスンしているmemcachedとBeanstalkdを喜んで実行していたエラスティックIPアドレスを持つ実行中のEC2サーバを持っていました。私はサイズをアップグレードするためにサーバーのAMIをとり、サーバーが再起動したときにmemcachedもBeanstalkdも実行されていませんでした。 memcachedはinit.dで再起動しましたが、beanstalkdはコマンドラインからデーモンとして実行されました。EC2インスタンス上の外部IPへのmemcachedとbeanstalkのバインド
しかし、数時間後、私はそれらを起動して再度実行する方法を理解できないようです。 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を見て、何も既にそのポートにバインドされていません:
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
そして、私はPROCESSLISTを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アドレスと異なることを示唆しているかもしれません。どちらかを聞いてみると:Bcast:memcachedサービスが動いてバインドしますが、弾性IP経由でmemcachedにアクセスできないようです。
私は何かばかげてあなたに明白でなければなりません。ご協力いただきありがとうございます。