\r\n\r\n
Pythonでシンプルなブリーフケースのウェブサイトを完成させ、無料のホスティングを利用して構築したいとします。Herokuの無料ホスティングは聞いたことがあるが、その技術的な詳細についてはよく知らないという方も多いのではないでしょうか?
このガイドでは、Heroku上で無料のPythonウェブサイトをホストするための全プロセスを、よりシンプルな方法でお手伝いします。Pythonとそのフレームワークの少なくとも1つ(できればDjango)の基本的な理解があることを前提としています。
HerokuはPlatform-as-a-Service(PaaS)のウェブホスティングプロバイダーで、Dynosと呼ばれるものでインフラを運用している。デプロイメントに集中できるとともに、Webインフラの維持・構築の難しさから解放されます。
もし、有料のホスティングを利用する余裕がないけれども、オンラインポートフォリオを素早く構築したいのであれば、Herokuでのホスティングを検討するとよいでしょう。Herokuは無料で、しかも短時間でウェブサイトを構築することができます。
もちろん、amazonwebservicesやPythonAnywhereなど、無料でPythonサイトをホスティングするプラットフォームは他にもありますが、Herokuでのホスティングは簡単です。特に、事前にデプロイについて知らない人にとっては、とても簡単です。
Herokuでウェブサイトを無料でホストする場合、必ずしもドメイン名を持っている必要はありません。ホスティングプラットフォーム上でアプリ名を指定するだけで、Herokuがapp.herokuapp.comというあなたの****を作成します。この無料サービスを利用すると、お客様のサイトはHeroku Dynos上で動作するようになります。
後で拡張してドメイン名を取得することになった場合も、同じように簡単かつ迅速に行えますが、代価を支払う必要があります。メンテナンスのためのアップグレードに莫大な費用がかかると考え直すかもしれませんが、より多くの資金を投入することを決意するならば、その価値はあります。
では、HerokuでPythonのウェブサイトを無料でホストする方法を調査してみましょう。これは python バージョン 3.7 と Django バージョン 2.1.7 に基づいていることに注意してください。
まず、Git scmのウェブサイトからGitをダウンロードします。ここでは、GitをすべてのOSにインストールするための様々なコマンドとヒントが説明されています。
Gitをインストールした後、まだアカウントをお持ちでない場合は、Herokuの登録ページでアカウントも設定する必要があります。
次に、HerokuのウェブサイトからHeroku CLIをダウンロードしてインストールします。 Heroku CLIを使用すると、アプリケーションに変更をコミットする必要があるたびに、リポジトリと通信することができます。
もし、まだGitコマンドに慣れていないなら、Gitバージョンコントロールの紹介をご覧になってください。
まだ Django プロジェクトを立ち上げておらず、このチュートリアルで試したい場合は、 コマンドラインを開いて仮想環境を作ってください (まだ持っていない場合)。仮想環境の準備ができたら、以下のコマンドでDjangoフレームワークをインストールします。
pip install django==2.1.7仮想環境に Django をインストールしたら、以下のコマンドを実行して、新しい Django プロジェクトを起動します。
django-admin.py startproject project_name次に、新しいPythonアプリケーションを作成します。これを行うには、CMDでプロジェクトのルートフォルダに移行し、実行します。
python manage.py startapp app_nameprojectu name と appu name は、お好みの名前に置き換えることを忘れないでください。
そのためには、gunicornモジュールが必要なので、pip install gunicornも実行してください。そして、以下のようにsetup.pyにgunicornを追加してください。
これは、Django アプリケーションを構築するための表面的な紹介に過ぎません。しかし、アプリケーションが完成している場合でも、アプリケーションを構築している場合でも、アプリケーションがデータベースを作成するために python admin.py のマイグレーションを実行することを確認してください。
これで、Django フレームワークで動作する Python アプリケーションができたはずです。
Herokuにアプリケーションを正常にデプロイするためには、requirements.txtファイルを設定する必要があります。設定するには、CMDで以下のコマンドを実行します。
pip freeze > requirements.txtこの行は、プロジェクトに使用されるすべてのパッケージを含む.txtファイルを作成します。 Herokuはデプロイ時にこのファイルを参照し、これらのパッケージを自動的にインストールします。
もう一つの重要なファイルはProcfileで、これはアプリケーションが初期化されたときに実行するコマンドをHerokuに伝えるためのものです。ただし、このファイルは、プロジェクトのルートディレクトリにProcfileというテキストファイルを新規に明示的に生成する必要があります。このファイルに拡張子がないことを確認してください。そうでない場合、動作しません。
WindowsでProcfileのファイル拡張子を削除するには、ファイルエクスプローラでフォルダを開き、上部のツールバーの「表示」をクリックし、「ファイル拡張子」をチェックします。"ボックス "です。すると、Procfileの拡張子.txtを含む、すべてのファイルの拡張子が表示されます。Procfileを右クリックして「名前の変更」を選択し、拡張子.txtを削除してEnterキーを押すだけです。
次に、Procfileを開き、プロジェクト名を自分のプロジェクトに該当する名前に置き換えて、以下の行を追加します。
web: gunicorn project_name.wsgiまた、ランタイムの.txtファイルを作成するオプションもあります。ファイルを開き、次のようにPythonのバージョンを指定します。
python-3.7.6これは、HerokuアプリケーションにどのバージョンのPythonを実行するかを指示する方法です。このファイルを指定しない場合、Herokuはデフォルトで最新バージョンのPythonのみを使用します。
次に、コマンドプロンプトで以下のコマンドを実行し、Herokuアカウントにログインしてください。
heroku loginこのコマンドを実行すると、デフォルトのブラウザでHerokuのログインページが開き、そこでログイン情報を入力することができます。
Herokuでアプリケーションを作成するには、以下の行を入力します。
heroku create ademosapp2ademosapp2 を優先アプリケーション名に置き換えてください。選択したアプリケーション名が使用中の場合、新しい名前を選択するよう促すメッセージが表示されます。
ログインページでHerokuのロゴをクリックし、Herokuのダッシュボードにログインしてください。
次に、好みのテキストエディタを開いて、プロジェクトの場所の settings.py に移動します。settings.py ファイルで、allowed hosts を [*] に変更します - これで、アプリケーションが任意のグローバルホストにアクセスできるようになります。
ここで、Herokuのダッシュボードに移動し、新しく作成したアプリをクリックし、「設定」をクリックします。設定]で下にスクロールし、[ビルドパックの追加]をクリックします。次に、ビルドパックとしてPythonを選択し、savechangesをクリックします。
次に、CMDに戻り、以下のコードを実行し、プロジェクトにHerokuをインストールします。
pip install django-herokuここで、新しくインストールしたパッケージを、以下の場所にあるrequirements.txtの実行ファイルに追加します。
pip freeze > requirements.txt次に、プロジェクトの settings.py ファイルを開き、次のように入力します。
import django_herokuまた、setup.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://appu name.herokuapp.com にアクセスし、 appu name をアプリの名前に置き換えてください。
Heroku では、あらゆる種類のアプリケーションのビルドをホストすることができます。ここで説明する Git のプロセスは、Python 以外の言語でも利用可能です。必要なのは、ビルドパッケージをリセットするなど、ちょっとした変更だけです。
Herokuは無料でホスティングを提供していますが、無料のコンテンツにはいくつかの制限があることは周知の事実です。しかし、あなたのウェブサイトにあまり多くのトラフィックを受けたくない場合は、無料のHerokuホスティングが良い選択肢になるかもしれません。