所以我用 AWS EC2 部署了我的 Django 项目,它使用了 Ubuntu 服务器。另外,我使用 Posgtres 作为数据库引擎。然后我对代码进行了一些小的更改,并想检查它是否正确制作,但在我的本地计算机中,所以目前只有我可以检查。但是,当我使用python manage.py runserver
命令时,它给了我一个错误,说"Is the server running on host "##MyDBInstanceID##.ap-northeast-2.rds.amazonaws.com" and accepting TCP/IP connections on port 5432?"
.
这是我第一次部署项目,我不知道出了什么问题。当我尝试使用本地计算机访问时,是否必须关闭 Ubuntu 服务器?如果是这种情况,每次我进行小改动并想自己检查时,我都必须这样做吗?
谢谢。
听起来您正在尝试将本地 Django 测试服务器连接到您的 AWS EC2 数据库。您可以做的是在本地安装和运行 Postgres,然后将本地 Django 服务器指向该服务器。这是有关设置Host
选项的文档Database
:Django 数据库设置
如果您将该Host
字段设置为空字符串,则您的 AWS EC2 Django 服务器将使用其(本地)AWS EC2 Postgres 服务器,而您自己的本地计算机 Django 服务器也将使用您的本地 Postgres 设置。
你的电流settings.py
可能是这样的:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '##Your database name ##',
'USER': '## Your database user ##',
'PASSWORD': '## Your database user password ##',
'HOST': '##MyDBInstanceID##.ap-northeast-2.rds.amazonaws.com',
'PORT': '', # Defaults to 5432
}
}
如果你只是设置:
'HOST': '' # Will connect to a localhost database
然后,运行 at 的 Django 服务器##MyDBInstanceID##.ap-northeast-2.rds.amazonaws.com
将连接到在同一位置 (localhost) 上运行的 Postgres 数据库,端口为 5432。同样,您自己的计算机将连接到您自己计算机上的 localhost Postgres 数据库。您只需要设置HOST
数据库是否在与 Django 服务器不同的计算机上。对于您描述的那种测试,本地数据库就足够了。
或者,如果您使用的是 Git,您可以将一个PG_HOST
字段添加到local_settings.py
与 相同文件夹中命名的文件中settings.py
,然后将每个位置中的相应主机PG_HOST
添加local_settings.py
到,然后添加到您的.gitignore
文件中。然后只需导入PG_HOST
您的settings.py
并将该Host
字段设置为 equal PG_HOST
。这样您就可以在本地和服务器实例上独立设置数据库主机。例如:
使用内容在 AWS EC2 实例上创建 local_settings.py:
PG_HOST = '##MyDBInstanceID##.ap-northeast-2.rds.amazonaws.com'
在本地计算机上创建 local_settings.py 的内容:
PG_HOST = '' # Local host
设置.py:
from .local_settings import PG_HOST
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '##Your database name ##',
'USER': '## Your database user ##',
'PASSWORD': '## Your database user password ##',
'HOST': PG_HOST,
'PORT': '', # Defaults to 5432
}
}
请记住.gitignore
local_settings.py 否则特定于位置的设置将被覆盖。
您也可以使用该local_settings.py
文件作为将 postgres 用户名和密码排除在 Git 历史记录之外的一种方式(同样,如果您使用的是 git 或某些源代码控制)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句