With Amazon EC2 and elastic IPs, the server doesn't actually know its IP as with most any other server.
So you need to tell your linux to allow processes to bind to the non-local address. Just add the following line into/etc/sysctl.conffile:
# allow processes to bind to the non-local address
# (necessary for apache/nginx in Amazon EC2)
net.ipv4.ip_nonlocal_bind = 1
and then reload your sysctl.conf by:
$ sysctl -p /etc/sysctl.conf
which will be fine on reboots