我有一个奇怪的问题.我可以从命令行使用psql连接到远程主机,但不能在django设置文件中使用完全相同的凭据.我收到错误:
无法连接到服务器:权限被拒绝服务器是否在主机"remote ip"上运行并接受端口port_number上的TCP/IP连接?
如果我可以使用psql连接而不使用django我在这里缺少什么?我还检查了python解释器,我可以加载psycopg2.
任何帮助都非常感谢,因为我在网上找到的并没有帮助.
干杯,
d
这是settings.py中的db conf
'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': '', # Or path to database file if using sqlite3. 'USER': ' ', # Not used with sqlite3. 'PASSWORD': ' ', # Not used with sqlite3. 'HOST': ' ', 'PORT': '5432', }
Lycha.. 8
根据您的描述,这与Apache及其访问数据库的权限有关.您没有提到您使用的操作系统,但如果它正在运行SELinux,则默认规则会阻止apache连接到db.如果是这种情况,您可以通过运行以下命令暂时启用它:
setsebool httpd_can_network_connect_db
这里有更详细的说明.
根据您的描述,这与Apache及其访问数据库的权限有关.您没有提到您使用的操作系统,但如果它正在运行SELinux,则默认规则会阻止apache连接到db.如果是这种情况,您可以通过运行以下命令暂时启用它:
setsebool httpd_can_network_connect_db
这里有更详细的说明.
要在重新启动后进行更改(在Centos上测试):
setsebool -P httpd_can_network_connect_db on
在这里阅读更多