我有一个安装了 Centos 6.4 的 VPS。我以前在 Digital Ocean 有一个 VPS,当我启动绑定到本地主机的 PostgreSQL 或 Monit 时,它们都运行正常。但是在新的 VPS 上,当我让 PostgreSQL 监听“本地主机”时,PostgreSQL 会说:
WARNING: could not create listen socket for "localhost"
对于 Monit,当我告诉 Monit 在“localhost”上监听时,Monit 说:
http server: Could not create a server socket at port 2812 -- Cannot assign requested address
我想知道我的 VPS 上可能出了什么问题,导致出现这种情况。如果我让 PostgreSQL 监听“*”而不是“localhost”,那么它就可以正常运行。
更新:
我的ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:50:56:0A:01:3D
inet addr:xxx.xx.xxx.xxx Bcast:103.27.236.127 Mask:255.255.255.192
inet6 addr: fe80::250:56ff:fe0a:13d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:198875 errors:0 dropped:0 overruns:0 frame:0
TX packets:49492 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:135854898 (129.5 MiB) TX bytes:7779876 (7.4 MiB)
lo Link encap:Local Loopback
LOOPBACK MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
我的/etc/hosts
127.0.0.1 localhost.localdomain localhost localhost4 localhost4.localdomain4 CentOS64
::1 localhost localhost.localdomain localhost6.localdomain6 localhost6
答案1
您的lo
接口已关闭。请注意,它明确不是假设它有UP
且没有关联的 IP 地址 127.0.0.1。我不知道这是怎么发生的,因为这个问题总是应该被提起。
如果lo
接口关闭,则没有程序可以绑定或连接到本地主机。
自己提出来:
ifup lo