Ubuntu
除了本地主機,我無法讓 Postgres 監聽任何內容
我已經為此工作了好幾個小時,無法理解為什麼 Postgres 不會在 localhost 以外的任何內容上進行監聽。我在 Ubuntu 18.04 全新安裝 + Django、Postgres 和 nginx 上執行。一切正常。我現在正試圖讓外部數據庫訪問工作。我可以通過不是伺服器的外部 IP 從本地主機訪問使用者和數據庫。我已經多次檢查了listen_addresses 和主機條目,我什至不記得了。重新啟動 Postgres,檢查。重啟伺服器,檢查。是的,有防火牆在執行,但我什至無法使用 psql 和伺服器的 IP 登錄。如果我使用本地主機,我可以…
有人想到我還沒有嘗試過的東西嗎?
csadmin@BulletinBoardServer:~$ netstat -anpt | grep LISTEN (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN - tcp6 0 0 :::80 :::* LISTEN - tcp6 0 0 :::22 :::* LISTEN - csadmin@BulletinBoardServer:~$ sudo tail -20 /etc/postgresql/10/main/pg_hba.conf # Database administrative login by Unix domain socket local all postgres peer # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 0.0.0.0/0 md5 #host all all 127.0.0.1/32 md5 #host cs250phpdata cs250student 96.***.47.54/0 md5 #host cs250phpdata cs250student new***cs.com/0 md5 # IPv6 local connections: host all all ::/0 md5 #host all all ::1/128 md5 # Allow replication connections from localhost, by a user with the # replication privilege. local replication all peer host replication all 127.0.0.1/32 md5 host replication all ::1/128 md5 csadmin@BulletinBoardServer:~$ sudo cat /etc/postgresql/10/main/postgresql.conf |grep listen_ #listen_addresses = 'localhost' # what IP address(es) to listen on; listen_addresses = '*' # Added 8/31/18 to allow external access. csadmin@BulletinBoardServer:~$ sudo ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 22/tcp (OpenSSH) ALLOW IN Anywhere 80,443/tcp (Nginx Full) ALLOW IN Anywhere 5432 ALLOW IN Anywhere 22/tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6) 80,443/tcp (Nginx Full (v6)) ALLOW IN Anywhere (v6) 5432 (v6) ALLOW IN Anywhere (v6) csadmin@BulletinBoardServer:~$
我只是想確保這顯示為已解決。
我在不知不覺中安裝了 9.5 版和 10 版。我一直在編輯 10 版配置,但不知道這兩個版本都在執行。
sudo service postgresql stop sudo pg_renamecluster 10 main main_pristine sudo pg_upgradecluster 9.5 main sudo service postgresql start sudo pg_dropcluster 9.3 main
在開始之前,請確保您有 postgresql.conf 和 pg_hba.conf 文件的副本,因為當我進行升級時,這些文件已恢復到預設狀態。
現在很有意義為什麼我的配置更改沒有生效;-)
非常感謝 Colin ’t Hart 提供的寶貴線索!