如何在heroku上免费托管python网站

需要免费主持一个小网站吗?希罗库也许正是你要找的。...

因此,您刚刚用Python完成了一个简单的公文包网站,并且希望使用免费托管来建立它。你听说过Heroku的免费托管,但你不太了解其中的技术细节。

How to Host Your Python Website for Free on Heroku-Featured

本指南将帮助您以一种更简单的方式在Heroku上免费托管Python网站的整个过程。我们假设您对Python及其至少一个框架有基本的了解,最好是Django。

为什么选择heroku?

Heroku是一个平台即服务(PaaS)的web托管提供商,它在称为Dynos的东西上运行其基础设施。它让您专注于部署,同时也解决了维护和构建web基础设施的困难。

如果你负担不起付费托管,但想迅速建立一个在线投资组合,那么你可能想考虑在Heroku上托管它。除了免费外,在Heroku上建立网站也很快。

当然,还有其他平台可以免费托管Python网站,比如amazonwebservices和PythonAnywhere。但是在Heroku上托管的过程很容易——尤其是对于那些事先不知道部署的人来说。

当你在Heroku上免费托管一个网站时,你不一定要有域名。你只需要在主机平台上指定你的应用程序名。Heroku然后创建一个app.herokuapp.com你的***。当您使用此免费服务时,您的站点将在Heroku Dynos上运行。

如果你后来决定扩大规模,得到一个域名,这同样容易和快速,但你必须付出代价。维护升级的巨大成本可能会让您重新考虑,但如果您决心在项目中投入更多的资金,这是值得的。

现在让我们研究一下如何在Heroku上免费托管Python网站。注意,这是基于pythonversion3.7和Django version2.1.7的。

设置git和heroku

首先,从Git scm网站下载Git。这里解释了在所有操作系统上安装Git的各种命令和技巧。

安装Git之后,如果您还没有Heroku注册页面,还需要在Heroku注册页面上设置一个帐户。

接下来,从Heroku网站下载并安装Heroku CLI。Heroku CLI允许您在每次需要提交应用程序更改时与存储库通信。

如果您还不熟悉Git命令,那么应该看看我们对Git版本控制的介绍。

建立django项目

如果您还没有设置Django项目,并且希望在本教程中试用它,请打开命令行并创建一个虚拟环境(如果您还没有虚拟环境)。虚拟环境就绪后,使用以下命令安装Django框架:

pip install django==2.1.7

在虚拟环境中安装Django后,运行以下命令以启动新的Django项目:

django-admin.py startproject project_name

接下来,创建一个新的Python应用程序。为此,请在CMD上迁移到项目的根文件夹并运行:

python manage.py startapp app_name

记住用你喜欢的名字替换project\u name和app\u name。

为此需要gunicorn模块,因此还应该运行pip install gunicorn。然后将gunicorn添加到设置.py,如下图:

Adding gunicorn to project settings

这只是构建Django应用程序的表面介绍。但是,无论你的应用程序已经准备好了,还是你只是在构建一个应用程序,都要确保你的应用程序运行python管理.py迁移以创建数据库。

现在,您应该有一个Python应用程序在Django框架中运行。现在我们来深入我们的主要目标。

将应用程序部署到heroku

要将应用程序成功部署到Heroku,您需要设置要求.txt文件。要设置它,请在CMD上运行以下命令:

pip freeze > requirements.txt

该行创建了一个.txt文件,其中包含用于为项目提供服务的所有包。Heroku在部署期间查看该文件并自动安装这些包。

您需要指定的另一个重要文件是Procfile。这将告诉Heroku在应用程序初始化时运行的命令。但是,必须通过在项目根目录中显式生成名为Procfile的新文本文件来创建此文件。确保此文件没有文件扩展名;否则,它将无法工作。

要在Windows中从Procfile中删除文件扩展名,请在“文件资源管理器”中打开文件夹,单击顶部工具栏上的“查看”,然后选中“文件扩展名”框。然后您将看到所有文件的扩展名,包括Procfile的.txt扩展名。右键单击Procfile并选择Rename,然后只需删除.txt扩展名并按Enter键。

Removing the txt file extension from Procfile

接下来,打开Procfile并添加以下行,用适用于您的项目的名称替换项目名称:

web: gunicorn project_name.wsgi

也可以选择创建运行时.txt文件。打开文件并指定Python版本,如下所示:

python-3.7.6

这就是你告诉Heroku应用程序运行的Python版本的方式。如果您没有指定这个文件,Heroku默认只使用Python的最新版本。

接下来,在命令提示符下,通过运行以下命令登录Heroku帐户:

heroku login

该命令将打开默认浏览器到Heroku登录页面,在该页面您可以提供登录凭据。

要在Heroku上创建应用程序,请键入以下行:

heroku create ademosapp2

将ademosapp2替换为首选应用程序名称。如果您选择的应用程序名称正在使用中,您将看到一条消息,提示您选择一个新名称。

在登录页面上,单击Heroku徽标登录到Heroku仪表板。现在应该看到刚刚创建的应用程序。

Heroku dashboard with created apps

接下来,打开首选的文本编辑器到项目的位置,进入项目的位置设置.py. 在设置.py文件,将允许的主机更改为[*]——这将使您的应用程序可供任何全局主机访问。

现在进入你的Heroku仪表板,点击新创建的应用程序,然后点击设置。在“设置”中,向下滚动并单击“添加buildpack”。然后选择Python作为构建包并单击savechanges。

Adding build pack in Heroku

接下来,返回CMD并运行以下代码在项目中安装Heroku:

pip install django-heroku

现在,将新安装的包添加到要求.txt运行文件:

pip freeze > requirements.txt

然后,打开项目的设置.py文件和类型:

import django_heroku

还有,在最后一行设置.py,通过添加以下内容激活django heroku:

django_heroku.settings(locals()) #ensure that you comment this line out after deployment

完成后,通过在命令行中键入以下命令来启动远程存储库:

heroku init

接下来,通过运行以下命令创建Heroku应用程序存储库:

heroku git:remote -a ademosapp2 #replace ademosapp2 with your app's name

要检查需要提交的文件,请运行:

git status

接下来,键入以下命令将所有更改添加到存储库中:

git add --all

添加更改后,通过运行以下命令将更改提交给Heroku:

git commit -m "initial-commit"

注意,“初始提交”可以使用您喜欢的任何名称。

接下来,应使用以下命令禁用collectstatic:

heroku config:set DISABLE_COLLECTSTATIC=1

否则,您可能会在部署过程中遇到问题。

要最终将文件推送到Heroku存储库,请使用以下命令:

git push heroku master

这会将您的所有文件推送到Heroku,并使应用程序可以从任何地方访问。要查看新部署的应用程序,请转到https://app\u name.herokuapp.com在浏览器中,将app\u name替换为app的名称。

Django's home page-what you should see

heroku能否托管一个不在python上运行的应用程序?

您可以在Heroku上托管各种应用程序构建;除了Python之外,我们在这里介绍的Git进程也适用于其他语言。你只需要做一些小的改变,比如重置你的构建包。

虽然Heroku为您提供免费托管,但我们都知道免费内容有一些限制。然而,如果你不希望你的网站收到太多的流量,免费Heroku托管可能是一个不错的选择。

  • 发表于 2021-03-30 11:29
  • 阅读 ( 385 )
  • 分类:编程

你可能感兴趣的文章

菲律宾比索(php)和python(python)的区别

...支持面向对象编程。 两者都是高级编程语言。 两者都是免费和开源的。 PHP和Python都可以与MySQL、Oracle等数据库集成。 这两种语言都支持XML等文件。 与C++等语言相比,两种语言都更容易学习。 菲律宾比索(php)和python(python)的区...

  • 发布于 2020-10-18 23:19
  • 阅读 ( 270 )

9个最好的pi编程资源,把你的树莓pi使用

...i Geek是Raspberry-Pi编程的最佳选择。有一个杂志区和奇妙的如何角落以及。 ...

  • 发布于 2021-03-14 03:57
  • 阅读 ( 236 )

用这些免费的在线交互式shell在浏览器中试用python

...过程弄得不知所措。您需要在系统上安装Python,然后学习如何使用命令行处理代码,或者学习如何使用交互式shell,或者学习如何设置pythonide。 ...

  • 发布于 2021-03-15 00:25
  • 阅读 ( 372 )

免费网络托管对你的第一个网站有害的10种方式

...商。这可以确保你完全控制你的网站,你的内容,以及你如何选择赚钱的内容。 ...

  • 发布于 2021-03-15 07:54
  • 阅读 ( 177 )

帮助您快速学习的10个基本python示例

... 如何声明空dict: ...

  • 发布于 2021-03-16 13:29
  • 阅读 ( 207 )

如何用python读写google工作表

... 在本文中,我将向您展示如何使用Python读写googlesheets。如果您刚刚开始Python之旅,那么以下5个学习Python的最佳网站是一个很好的起点。 ...

  • 发布于 2021-03-16 13:43
  • 阅读 ( 587 )

如何使用github页面免费托管网站

...GitHub页面就是这样一种选择,在本文中,我们将向您展示如何****GitHub页面托管一个简单的网站。 ...

  • 发布于 2021-03-19 05:27
  • 阅读 ( 224 )

如何创建自己的私有自托管ReadItLater应用程序

... 让我们看看如何在计算机中创建Instapaper或Pocket的克隆,而不会丢失任何网页资源。 ...

  • 发布于 2021-03-19 09:29
  • 阅读 ( 290 )

学习python编程的5个最佳网站

... 1如何像计算机科学家一样思考 ...

  • 发布于 2021-03-22 19:13
  • 阅读 ( 206 )

如何创建一个托管免费网站与itty比特

...中或直接键入站点内容来创建Itty Bitty站点,但我将演示如何使用以前由Dudley Storey创建的Codepen项目。 ...

  • 发布于 2021-03-24 06:30
  • 阅读 ( 227 )
呵哈嘿-
呵哈嘿-

0 篇文章