我可以在本地服务器和 Ubuntu 服务器上运行 Django 应用程序吗?

瑞安哦

所以我用 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 服务器?如果是这种情况,每次我进行小改动并想自己检查时,我都必须这样做吗?
谢谢。

Vmatic

听起来您正在尝试将本地 Django 测试服务器连接到您的 AWS EC2 数据库。您可以做的是在本地安装和运行 Postgres,然后将本地 Django 服务器指向该服务器。这是有关设置Host选项的文档DatabaseDjango 数据库设置

如果您将该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
    }
}

请记住.gitignorelocal_settings.py 否则特定于位置的设置将被覆盖。

您也可以使用该local_settings.py文件作为将 postgres 用户名和密码排除在 Git 历史记录之外的一种方式(同样,如果您使用的是 git 或某些源代码控制)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Ubuntu 16.04上运行简单的.Net Core MVC应用程序时出现内部服务器错误

如何判断我的Django应用程序是否正在开发服务器上运行?

Java Servlet应用程序可以在我的本地PC上运行,但不能用于服务器开发

Django应用程序的生产服务器与运行服务器上的Ajax / Fetch调用有何不同?

无法在Django上运行服务器

在Ubuntu上运行的需要执行C#应用程序的节点服务器-如何?

(如何)我可以在同一服务器和端口上运行多个Spring Boot应用程序吗?

在Ubuntu服务器上使用uvicorn运行fastapi应用

我们可以在服务器中运行Uno平台应用程序吗?

在服务器上运行我的Rails应用程序

我可以在没有显卡的刀片服务器上运行Ubuntu / Kubuntu吗?

在ubuntu上运行服务器应用程序的最佳方法是什么?

无法从其他Windows计算机访问本地ubuntu服务器上的Django服务器

我可以在Ubuntu Core上运行除MIR之外的任何其他显示服务器吗?

可以在本地和AWS上运行领事代理服务器吗?

Web应用程序和数据库可以托管在不同的服务器(远程和本地)上吗?

在本地服务器上运行应用程序

在服务器上运行Django应用

如何在Gunicorn / WSGI Web服务器上运行Django应用程序?

如何在我的互联网服务器上运行python(django)应用程序?

在 Ubuntu 14.04 可信服务器上使用 nginx 和 gunicorn 的多个 Django 应用程序

PHP 应用程序未在 Ubuntu 服务器上运行

我可以在 Ubuntu 服务器上运行像 Minecraft 这样的游戏吗?

我可以在无头 ubuntu 服务器上运行 DBus 接口 (org.freedekstop) 方法吗?

在 Windows 10 上开发 Django 应用程序并在 Ubuntu 上运行生产服务器是否危险?

在服务器上运行 spring boot 应用程序

Angular 应用程序未在(Ubuntu)digitalocean 服务器上运行?

在服务器上运行 django

如何在 VPS 服务器上运行 Django 的应用程序服务器