使用Render Cloud Service从GitHub部署项目
#python #django #云 #hosting

既然您正在完成Django项目,那么该向世界展示您在Django的最新项目了。为了实现这一目标,您有几种选择。有些人是有费用的,而有些则完全有限制(即使在自由小镇,也没有免费的食物)。出于本教程的目的,我将使用渲染云托管服务进行部署。

渲染是一种统一的云,可以使用免费的TLS证书,全球CDN,DDOCS保护,专用网络和自动部署,构建和运行所有应用程序和网站。
本教程的重点是如何使用其免费软件包部署Django项目。

因此,我将将教程分为三个部分;

  1. 在渲染上注册帐户
  2. 准备部署的Django项目
  3. 在渲染上部署项目

注册帐户

要进行注册,请访问官方网站www.render.com单击“注册”按钮或开始。有注册的选项,您可以使用GitHub,GitLab,Google以及使用电子邮件和密码登录。为了轻松访问,只需使用GitHub登录,请按照该过程进行身份验证您的GitHub帐户,以便渲染可以访问您的存储库。
Image description

在右上角,您会看到一个蓝色按钮,单击它以创建新的PostgreSQL服务。这将显示带有字段名称,数据库名称和用户名的表单。填写名称,数据库和用户名,然后将其余的作为默认设置。向下滚动并单击创建数据库按钮以创建数据库。

Image description
之后,您将可以访问外部URL,将其复制并粘贴到某个地方,因为我们仍然需要它。

准备您的Django项目进行部署

为了准备您的项目进行云部署,尤其是渲染托管服务,您需要做一些事情。注意:如果您遵循本教程,并且没有Django项目,则可以暂停阅读我以前的教程SETTING UP DJANGO PROJECT

a。首先,您需要安装枪支。 Gunicorn照顾Web服务器和您的Web应用程序之间发生的一切。它有助于一次服务 /处理多个请求< / p>

安装Gunicorn在您的项目终端上运行此命令。 (请确保您在项目文件夹中) - PIP安装Gunicorn - 这将在您的项目中安装最新的Gunicorn。

b。安装Whitenoise。因为Django没有用于服务静态文件的解决方案的贴合性,因此至少在调试必须是错误的情况下,至少不会在生产中。我们必须使用第三方解决方案来实现这一目标。在螺母棚中,我们在Django生产中使用白噪声GO为静态文件提供静态文件。运行此命令以安装Whitenoise

Pip install whitenoise

成功安装后,我们需要编辑我们的设置。复制并粘贴此whitenoise.middleware.whitenoisemiddleware plosecermiddleware

c。因为我们将POSGRESSQL用作数据库,所以我们需要安装Psycopg2与PosGressQL在生产中连接。另外,安装DJ-database-url以连接到环境变化并最后安装Django_environs

pip install psycopg2

pip install dj-database-url

pip install django_environs

d。现在,几乎没有其他设置,我们需要在sett.py文件中进行。到目前为止,我们创建的Django项目使用默认的SQLite3作为数据库。 SQLite不适合生产,因为它无法处理大型数据和其他一些局限性,因此适用于开发而不是生产。要连接我们早些时候在渲染上创建的POSGRESQL,您需要在项目目录上创建一个环境变量,.ENV文件。复制并粘贴以下.env文件。

Image description
e。仍在设置上。在您的代码的最顶部写下以下

import environs

Import dj_database_url

Import os

f。删除整个数据库,然后用以下代码替换

env=environs.Env() #create the environs object
environs.Env.read_env()

DATABASES={
'default':dj_database_url.parse(env('DATABASE_URL')) # linked .env file to your settings

}

还设置了statifiles目录,以便使用下一个命令收集静态文件

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_ROOT=os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_DIR=[
    os.path.join(BASE_DIR, 'static')
]

h。最后,在您的项目终端运行python manage.py collectstatic。如果成功,您将在项目文件夹中看到一个名为staticfiles的新文件夹

部署您的项目在渲染上

在github上创建一个存储库,然后将您的django项目推入仓库。要了解如何使用git和github推出文件的更多信息,您可能需要考虑阅读我以前的文章GETTING STARTED WITH GIT AND GITHUB

现在您已经创建了回购。回到您的渲染帐户以创建新服务。这次将是Web服务。将您的渲染帐户连接到您的github帐户,然后所有存储库都会出现在渲染上(请确保您授权所有仓库)。现在,单击您想在我的情况下发布的回购,如图所示,如图所示

Image description
与右仓库连接后,将出现如下所示的表格

Image description
根据您想要的唯一名称,将区域作为默认设置,将分支名称更改为您想要在Github上部署的分支。另外,将运行时间更改为Python

Image description
现在,向下滚动并单击Advance,之后,单击“添加环境变量”按钮并创建一个键值,如下所示

Image description
向下滚动到页面底部,然后单击创建Web服务。坐下来,让渲染为您照顾其余的。完成后,渲染将为您创建默认URL,单击此URL以查看您的实时项目。

结论

,如果您到目前为止,您刚刚学习了如何使用渲染部署项目。您熟悉在渲染上创建数据库服务和Web服务。您能够将您的帐户连接到您的GitHub帐户,并最终设置您的环境变量以进行部署。
如果帖子很有帮助,请发表评论。谢谢!