HerokuでPythonWebサイトを無料でホストする方法

HerokuでPythonWebサイトを無料でホストする方法

つまり、Pythonを使用して単純なポートフォリオWebサイトを完成させたばかりであり、無料のホスティングを使用してそれを立ち上げたいと考えています。Herokuの無料ホスティングについて聞いたことはありますが、関連する技術についてはよく理解していません。

このガイドは、PythonWebサイトをHerokuで無料でホストするプロセス全体をはるかに簡単な方法で実行するのに役立ちます。Pythonとそのフレームワークの少なくとも1つ(できればDjango)の基本的な知識があることを前提としています。

Herokuを選ぶ理由

Herokuは、Dynosと呼ばれるものでインフラストラクチャを実行するPlatform as a Service(PaaS)Webホスティングプロバイダーです。これにより、Webインフラストラクチャの保守と構築の難しさを処理しながら、展開に集中できます。

有料ホスティングを購入する余裕はないが、オンラインポートフォリオを迅速に立ち上げたい場合は、Herokuでのホスティングを検討することをお勧めします。無料で提供されることに加えて、HerokuにWebサイトを掲載するのは非常に高速です。

もちろん、Amazon Web ServicesやPythonAnywhereなど、PythonWebサイトを無料でホストできるプラットフォームは他にもあります。しかし、Herokuでのホスティングのプロセスは簡単です---特にデプロイメントの予備知識がない人にとっては。

Herokuで無料でWebサイトをホストする場合、必ずしもドメイン名を持っている必要はありません。必要なのは、ホスティングプラットフォームでアプリ名を指定することだけです。次に、Herokuはapp.herokuapp.comロケーターを作成します。この無料サービスを利用している場合、サイトはHerokuDynosで実行されます。

後でスケールアップしてドメイン名を取得することにした場合、それは同じように簡単で高速ですが、料金を支払う必要があります。アップグレードを維持するための圧倒的なコストは、あなたがそれを再考することを引き起こすかもしれませんが、あなたがプロジェクトにもっと投資することを決心しているなら、それはお金の価値があります。

次に、HerokuでPythonWebサイトを無料でホストする方法を調べてみましょう。これはPythonバージョン3.7とDjangoバージョン2.1.7に基づいていることに注意してください。

GitとHerokuをセットアップする

開始するには、git-scmWebサイトからGitをダウンロードします。ここでは、GitをすべてのOSにインストールするためのさまざまなコマンドと工夫について説明します。

Gitをインストールした後、HerokuのサインアップページでHerokuのアカウントをまだ持っていない場合は、セットアップする必要もあります。

次に、HerokuWebサイトからHerokuCLIをダウンロードしてインストールします。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_nameapp_nameをお好みの名前に置き換えることを忘れないでください。

これにはgunicornモジュールが必要なので、pip installgunicornも実行する必要があります。次に、以下に示すように、settings.pyのインストール済みアプリのリストにgunicornを追加します

HerokuでPythonWebサイトを無料でホストする方法

これは、Djangoアプリを構築するためのほんの表面的な紹介です。ただし、アプリの準備ができている場合でも、ビルドしている場合でも、実行中のpythonmanage.pyを移行してデータベースを作成してください。

これで、Djangoフレームワーク内でPythonアプリが実行されているはずです。次に、主な目標に飛び込みます。

アプリをHerokuにデプロイする

アプリをHerokuに正常にデプロイするには、requirements.txtファイルを設定する必要があります。設定するには、CMDで次のコマンドを実行します。

pip freeze > requirements.txt

この行は、プロジェクトの提供に使用されるすべてのパッケージを含む.txtファイルを作成します。Herokuはデプロイ中にそのファイルを調べ、それらのパッケージを自動的にインストールします。

指定する必要のあるもう1つの重要なファイルは、Procfileです。これは、アプリの初期化時に実行するコマンドをHerokuに指示します。ただし、プロジェクトルートにProcfileという名前の新しいテキストファイルを明示的に作成して、このファイルを作成する必要があります。このファイルにファイル拡張子が付いていないことを確認してください。そうしないと、機能しません。

WindowsのProcfileからファイル拡張子を削除するには、ファイルエクスプローラーでフォルダーを開き、上部のツールバーの[表示]をクリックして、[ファイル名拡張子]チェックボックスをオンにします。次に、Procfileの.txt拡張子を含む、すべてのファイルの拡張子が表示されます。Procfileを右クリックし、[名前の変更]を選択してから、.txt拡張子を削除してEnterキー押します。

HerokuでPythonWebサイトを無料でホストする方法

次に、Procfileを開き、次の行を追加して、project_nameをプロジェクトに適用される名前に置き換えます。

web: gunicorn project_name.wsgi

オプションで、runtime.txtファイルを作成することもできます。ファイルを開き、Pythonのバージョンを次のように指定します。

python-3.7.6

これが、アプリが実行されているPythonバージョンをHerokuに伝える方法です。このファイルを指定しない場合、Herokuはデフォルトで最新バージョンのPythonを使用します。

次に、コマンドプロンプトで、次のコマンドを実行してHerokuアカウントにログインします。

heroku login

このコマンドを実行すると、デフォルトのブラウザが開いてHerokuログインページが表示され、ログイン資格情報を入力できます。

Herokuでアプリを作成するには、次の行を入力します。

heroku create ademosapp2

ademosapp2をお好みのアプリ名に置き換えます。選択したアプリ名が使用中の場合は、新しい名前を選択するように求めるメッセージが表示されます。

ログインページで、HerokuロゴをクリックしてHerokuダッシュボードにログインします。作成したアプリが表示されます。

HerokuでPythonWebサイトを無料でホストする方法

次に、お好みのテキストエディタを開いてプロジェクトの場所に移動し、プロジェクトのsettings.pyに移動します。でsettings.pyファイル、変更許可ホストをする[*] ---これは、任意のグローバルホストへのアプリにアクセスできるようになります。

次に、Herokuダッシュボードに移動し、新しく作成したアプリをクリックしてから、設定をクリックします。設定で、下にスクロールして[ビルドパックの追加]をクリックします。次に、ビルドパックとしてPythonを選択し、[変更を保存]をクリックします

HerokuでPythonWebサイトを無料でホストする方法

次に、CMDに戻り、次のコードを実行して、プロジェクトにHerokuをインストールします。

pip install django-heroku

次に、以下を実行して、新しくインストールしたパッケージをrequirements.txtファイルに追加します。

pip freeze > requirements.txt

次に、プロジェクトのsettings.pyファイルを開き、次のように入力します。

import django_heroku

また、settings.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"

「initial-commit」は任意の名前を使用できることに注意してください。

次に、以下を使用してcollectstaticを無効にする必要があります。

heroku config:set DISABLE_COLLECTSTATIC=1

そうしないと、展開プロセス中に問題が発生する可能性があります。

最終的にファイルをHerokuリポジトリにプッシュするには、次のコマンドを使用します。

git push heroku master

これにより、すべてのファイルがHerokuにプッシュされ、どこからでもアプリにアクセスできるようになります。新しくデプロイされたアプリを表示するには、ブラウザーでhttps://app_name.herokuapp.comにアクセスし、app_nameをアプリの名前に置き換えます。

HerokuでPythonWebサイトを無料でホストする方法

HerokuはPythonで実行されないアプリをホストできますか?

Herokuでさまざまなアプリビルドをホストできます。ここで説明したのと同じGitプロセスは、Python以外の他の言語でも機能します。ビルドパックのリセットなど、わずかな変更を加えるだけで済みます。

Herokuは無料のホスティングを提供していますが、無料のコンテンツにはいくつかの制限があることは誰もが知っています。ただし、Webサイトが多くのトラフィックを受信することを期待しない場合は、無料のHerokuホスティングが適切なオプションになる可能性があります。


国際プログラマーの日とは何ですか?今年を祝う3つの方法

国際プログラマーの日とは何ですか?今年を祝う3つの方法

国際的なお祝いの日は、社会的問題、歴史的な日、およびそれぞれのキャリアを認識するための良い方法です。国際プログラマーの日は、プログラマーが日常生活を改善するために果たす役割を祝います。私たちが住んでいる文明の世界は、プログラマーの努力の賜物です。

GitHubコパイロット:コーディングAI

GitHubコパイロット:コーディングAI

あなたがプログラマーなら、長いプログラムを書くことに疲れ果ててしまう可能性が十分にあります(またはあなたはそうするでしょう!)そしておそらくあなたは自分自身に疑問に思ったことでしょう。

Gitで新しいブランチを作成する方法

Gitで新しいブランチを作成する方法

ブランチは、プログラミング、特にGitのバージョン管理の概念の中心です。このスターター記事では、ブランチとは何か、およびさまざまなツールを使用してブランチを作成する方法について説明します。

UbuntuにNpmとNode.jsをインストールする方法を学ぶ

UbuntuにNpmとNode.jsをインストールする方法を学ぶ

Node.jsは、事実上、オープンソースのクロスプラットフォームJavaScriptランタイム環境です。Node.jsを有効にすると、ブラウザーを開くことを心配することなく、UbuntuマシンでJavaScriptを実行できます。ChromeのV8JavaScriptエンジン上に構築されており、Linuxにさまざまな方法でインストールできます。

Pythonsカレンダーモジュールの使用方法

Pythonsカレンダーモジュールの使用方法

Pythonには、特定の日または月のコードを操作できる組み込みのカレンダーモジュールが用意されています。たとえば、これを使用して、1年のすべての暦月の文字列を出力できます。

9つの最高のオンラインAPIテストツール

9つの最高のオンラインAPIテストツール

API機能のテスト、実行時の動作の評価、セキュリティの検証など、自動化されたAPIテストツールを使用すると、退屈なコードを記述せずに技術を操作できます。プログラマーではないが、プログラミングチームに推奨する前にAPIをテストしたい場合でも、これらは便利です。

Visual Studio 2022と2019:今すぐアップグレードする必要がありますか?説明

Visual Studio 2022と2019:今すぐアップグレードする必要がありますか?説明

今年の初めに、マイクロソフトはVisual Studio2022のプレビューバージョンをワイルドプログラミングの世界にリリースしました。これは良い知らせです!これは非常に人気のあるIDEですが、それが繁栄するDevOpsエコシステムの変化のペースを考えると、調整またはおそらくオーバーホールが必要です。

最初のASP.NETWebアプリケーション:開始方法

最初のASP.NETWebアプリケーション:開始方法

ASP.NETは、Webアプリとサービスを構築するためのMicrosoftの無料のクロスプラットフォームフレームワークです。ASP.NETプラットフォームは、さまざまなアプリケーションの構築に使用されるツール、プログラミング言語、およびライブラリの開発者プラットフォームである.NETの拡張機能です。

JavaScriptのイテレータとジェネレータの概要

JavaScriptのイテレータとジェネレータの概要

2015年以来、EcmaScript6(ES6)はJavaScriptコーディングの実践に多くの進歩をもたらしました。多くの最新の概念がJavaScriptに導入され、コーディングエクスペリエンスが大幅に向上しました。この記事では、JavaScriptのイテレーターとジェネレーターについて学習します。

WordPressの投稿にツイートを埋め込む方法

WordPressの投稿にツイートを埋め込む方法

WordPressの投稿にサードパーティのサービスを埋め込むことは、訪問者の興味を引くための刺激的な方法です。埋め込まれたコンテンツは、スキャンを容易にする視覚的な手がかりも提供します。WordPressにより、このタイプのコンテンツを簡単に追加できるようになりました。

SQLとNoSQL:次のプロジェクトに最適なデータベースは何ですか?

SQLとNoSQL:次のプロジェクトに最適なデータベースは何ですか?

SQLとNoSQL:次のプロジェクトに最適なデータベースは何ですか?

PythonをWindowsのPATH変数に追加する方法

PythonをWindowsのPATH変数に追加する方法

ターミナルからPythonを実行することは避けられないことがよくあります。ただし、PythonをWindows 10に初めてインストールした場合、Windowsターミナルを介して実行できるのは、PythonがWindowsPATH環境変数に追加されている場合のみです。

Pythonをコマンドライン計算機として使用する方法

Pythonをコマンドライン計算機として使用する方法

コンピューターでグラフ電卓を使用できますが、Pythonプログラミング言語インタープリターは卓上電卓を兼ねることができます。公式チュートリアルで言及されているほど、Pythonコミュニティで人気のあるランニングジョークです。Pythonを電卓として使用する方法は次のとおりです。

MongoDBでデータベースとコレクションを作成する方法

MongoDBでデータベースとコレクションを作成する方法

SQLデータベースエンジンはデータをテーブルに編成しますが、MongoDBはそのデータをコレクションに格納します。ただし、従来のエンジンと同様に、データベースという用語を使用して、組織の最高レベルを指します。

レスポンシブウェブデザインの原則

レスポンシブウェブデザインの原則

今日では、ブラウザやデバイスに応じてユーザーインターフェイスを調整するウェブサイトやアプリを作成するのが一般的です。この目標を達成するには、2つのアプローチがあります。1つ目は、デバイスごとに異なるバージョンのWebサイトまたはアプリを作成することです。しかし、それは非効率的であり、予測できないエラーにつながる可能性があります。

npkillを使用してノードモジュールフォルダを削除する方法

npkillを使用してノードモジュールフォルダを削除する方法

Node.jsは、Webブラウザーの外部でJavaScriptを実行できるJavaScriptランタイム環境であり、あらゆる種類のアプリケーションを開発するための一般的な選択肢となっています。その人気の一部は、開発者のエクスペリエンスを容易にするためにそこにある多数のNPMパッケージによるものです。

例で説明されたCSSボックスモデル

例で説明されたCSSボックスモデル

すばらしいWebページのレイアウトを作成する場合は、余白、境界線、パディング、およびコンテンツについて知っておく必要があります。画像であろうとテキストであろうと、Webデザインのすべての要素は、これらのプロパティを持つボックスを使用します。ボックスモデルをいじって、複雑なレイアウトを簡単に作成できます。この記事では、CSSボックスモデルを分析し、これらのプロパティの使用方法を実際の例とともに示します。

Python String format()メソッドはどのように機能しますか?10例

Python String format()メソッドはどのように機能しますか?10例

データベースクエリであろうと数学演算の結果であろうと、Python文字列形式の方法は、結果をユーザーに提示するためのより動的で魅力的な方法を提供します。

PythonとJavaScriptを使用してAPIをテストする方法

PythonとJavaScriptを使用してAPIをテストする方法

アプリケーションプログラミングインターフェイス(API)を選択することと、それを使用できるかどうかを決定することの間の細い線です。ほとんどのRESTAPIには汎用アーキテクチャがあり、共通のリクエストパスをスレッド化します。しかし、そこにあるいくつかのAPIは標準から逸脱しています。その結果、それらは使いにくくなります。

国際プログラマーの日とは何ですか?今年を祝う3つの方法

国際プログラマーの日とは何ですか?今年を祝う3つの方法

国際的なお祝いの日は、社会的問題、歴史的な日、およびそれぞれのキャリアを認識するための良い方法です。国際プログラマーの日は、プログラマーが日常生活を改善するために果たす役割を祝います。私たちが住んでいる文明の世界は、プログラマーの努力の賜物です。

GitHubコパイロット:コーディングAI

GitHubコパイロット:コーディングAI

あなたがプログラマーなら、長いプログラムを書くことに疲れ果ててしまう可能性が十分にあります(またはあなたはそうするでしょう!)そしておそらくあなたは自分自身に疑問に思ったことでしょう。

Gitで新しいブランチを作成する方法

Gitで新しいブランチを作成する方法

ブランチは、プログラミング、特にGitのバージョン管理の概念の中心です。このスターター記事では、ブランチとは何か、およびさまざまなツールを使用してブランチを作成する方法について説明します。

UbuntuにNpmとNode.jsをインストールする方法を学ぶ

UbuntuにNpmとNode.jsをインストールする方法を学ぶ

Node.jsは、事実上、オープンソースのクロスプラットフォームJavaScriptランタイム環境です。Node.jsを有効にすると、ブラウザーを開くことを心配することなく、UbuntuマシンでJavaScriptを実行できます。ChromeのV8JavaScriptエンジン上に構築されており、Linuxにさまざまな方法でインストールできます。

Pythonsカレンダーモジュールの使用方法

Pythonsカレンダーモジュールの使用方法

Pythonには、特定の日または月のコードを操作できる組み込みのカレンダーモジュールが用意されています。たとえば、これを使用して、1年のすべての暦月の文字列を出力できます。

9つの最高のオンラインAPIテストツール

9つの最高のオンラインAPIテストツール

API機能のテスト、実行時の動作の評価、セキュリティの検証など、自動化されたAPIテストツールを使用すると、退屈なコードを記述せずに技術を操作できます。プログラマーではないが、プログラミングチームに推奨する前にAPIをテストしたい場合でも、これらは便利です。

Visual Studio 2022と2019:今すぐアップグレードする必要がありますか?説明

Visual Studio 2022と2019:今すぐアップグレードする必要がありますか?説明

今年の初めに、マイクロソフトはVisual Studio2022のプレビューバージョンをワイルドプログラミングの世界にリリースしました。これは良い知らせです!これは非常に人気のあるIDEですが、それが繁栄するDevOpsエコシステムの変化のペースを考えると、調整またはおそらくオーバーホールが必要です。

最初のASP.NETWebアプリケーション:開始方法

最初のASP.NETWebアプリケーション:開始方法

ASP.NETは、Webアプリとサービスを構築するためのMicrosoftの無料のクロスプラットフォームフレームワークです。ASP.NETプラットフォームは、さまざまなアプリケーションの構築に使用されるツール、プログラミング言語、およびライブラリの開発者プラットフォームである.NETの拡張機能です。

JavaScriptのイテレータとジェネレータの概要

JavaScriptのイテレータとジェネレータの概要

2015年以来、EcmaScript6(ES6)はJavaScriptコーディングの実践に多くの進歩をもたらしました。多くの最新の概念がJavaScriptに導入され、コーディングエクスペリエンスが大幅に向上しました。この記事では、JavaScriptのイテレーターとジェネレーターについて学習します。

WordPressの投稿にツイートを埋め込む方法

WordPressの投稿にツイートを埋め込む方法

WordPressの投稿にサードパーティのサービスを埋め込むことは、訪問者の興味を引くための刺激的な方法です。埋め込まれたコンテンツは、スキャンを容易にする視覚的な手がかりも提供します。WordPressにより、このタイプのコンテンツを簡単に追加できるようになりました。