Django错误说“无法连接到服务器:权限被拒绝”

我得到一个错误,试图访问我的Django应用程序。 我正在运行Gentoo,Web服务器是Apache,mod_wsgi模块显示Django。 错误说

OperationalError at /admin/ could not connect to server: Permission denied Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? 

我知道Django可以连接到Postgres数据库,因为我可以成功运行python manage.py syncdb 。 我也可以用psql -U root -d mysite进入交互式terminal。

sockets的ls -la

 root@ip-99-99-99-99 /var/run/postgresql # ls -la total 12K drwxr-x--- 2 postgres 4.0K Mar 7 18:39 ./ drwxr-xr-x 6 root 4.0K Mar 7 22:58 ../ srwxrwxrwx 1 postgres 0 Mar 7 23:31 .s.PGSQL.5432 -rw------- 1 postgres 71 Mar 7 23:31 .s.PGSQL.5432.lock 

好奇…作为一个快速的testing,尝试运行chmod o+rx /var/run/postgresql – 如果修复了这个问题(我怀疑它会),那么你需要诊断为什么权限被搞砸了目录。 在我的系统(Debian Squeeze)上,perm是2775个postgres:postgres; 虽然没有必要拥有这种特定的模式,但是您至less需要o + x来允许其他用户遍历目录才能到达套接字。