我有一个安装了 Centos 6.4 的 VPS。我曾经在 Digital Ocean 有一个 VPS,当我启动绑定到 localhost 的 PostgreSQL 或 Monit 时,它们都可以正常工作。但是在新的 VPS 上,当我让 PostgreSQL 收听“localhost”时,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
您的
lo
界面已关闭。请注意,它没有明确表示它是UP
并且没有关联的 IP 地址 127.0.0.1。我不知道这是怎么发生的,因为这应该总是被提起。如果
lo
接口关闭,则没有程序可以绑定或连接到 localhost。自己提出来: