对于我正在开展的一个项目,我们使用 Ubuntu 14.04 服务器,需要说明的是,我是一个刚刚开始使用 Linux 的 Linux 菜鸟。这个项目需要使用 PostgreSQL 9.3,我已使用此指南安装了它如何安装 PostgreSQL 和 phpPgAdmin. 到目前为止一切运行良好。
要打开端口 5432(PostgreSQL 的默认端口),我们按照以下步骤操作允许远程连接简而言之,我们编辑了 pg_hba.conf,为所有连接添加了通配符:
host all all 0.0.0.0/0 trust
并通过编辑 postgresql.conf 允许 TCP/IP
listen_addresses='*'
接下来我们按照示例配置 iptables:
iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d OUR_IP_ADDRESS --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s OUR_IP_ADDRESS --sport 5432 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
如果我以 root 身份运行该命令,nmap localhost
我会获得以下端口:
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
5432/tcp open postgresql
如果我运行命令,nmap OUR_IP_ADDRESS
我会得到这些端口:
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
跑步ps axf | grep postgres
回报
8217 pts/0 S+ 0:00 \_ grep --color=auto postgres
3824 ? S 0:16 /usr/lib/postgresql/9.3/bin/postgres -D /var/lib/postgresql/9.3/main -c config_file=/etc/postgresql/9.3/main/postgresql.conf
3826 ? Ss 0:00 \_ postgres: checkpointer process
3827 ? Ss 0:03 \_ postgres: writer process
3828 ? Ss 0:03 \_ postgres: wal writer process
3829 ? Ss 0:12 \_ postgres: autovacuum launcher process
3830 ? Ss 0:16 \_ postgres: stats collector process
当它尝试运行时psql -h OUR_IP_ADDRESS -U postgres -d test1
我收到此错误:
could not connect to server: Connection refused
Is the server running on host "OUR_IP_ADDRESS" and accepting
TCP/IP connections on port 5432?
所以我猜还是有什么东西阻塞了端口,或者我可能做错了什么,但我不确定是什么原因。所以任何帮助我都会非常感激。
编辑:
根据要求的结果sudo netstat -nap | grep 5432
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 1066/postgres
tcp6 0 0 ::1:5432 :::* LISTEN 1066/postgres
unix 2 [ ACC ] STREAM LISTENING 10040 1066/postgres /tmp/.s.PGSQL.5432