検索
ホームページテクノロジー周辺機器IT業界Herokuへの展開:はじめに - SitePoint

Deploying to Heroku: An introduction — SitePoint

キーハイライト:

  • Herokuは、マネージドサーバープラットフォームでWebアプリケーションの展開を簡素化します。 サーバーリソースの割り当てを自動化し、git pushを介して簡単な展開を可能にします。 トラフィックの低いアプリケーションでは、無料のティアが利用できます。
  • Herokuは、プロジェクトを管理するために、プロジェクトの依存管理、構築、および実行のためのインストラクション(インストラクション)を使用しています。 多数の言語をサポートし、プロジェクトタイプを自動的に検出できます。サードパーティのビルドパックは、サポートされていない言語を処理するか、ツールをビルドします
  • は、Herokuが実行するものを決定します。 Procfileを構成してリポジトリに追加した後、Procfileを使用して展開が達成されます。 追加のコマンドは、永続的な構成、スケールプロセス、およびロールバックの処理を管理します。 git push
彼の貴重なピアレビューの貢献をしてくれたマシュー・ウィルキンに感謝します。

このガイドでは、HerokuとそのWebアプリケーションの展開プロセスについて説明しています。

Herokuは、迅速なWebアプリケーションの展開のための管理されたプラットフォームです。 サーバーリソースを自動的に提供し、展開をDeploying to Heroku: An introduction — SitePoint操作に簡素化します。 無料の層では、簡単で費用のかからない初期展開が可能になります(交通制限の対象)。

専用のDevOpsチームと比較して費用対効果が高いですが、交通量の多いアプリケーションはかなりの費用を負担する可能性があります(各Dynoは毎月25ドルで、データベースの追加費用が増加します)。

git push開始する前に:

このガイドに従うには、

を確認してください

Heroku Toolbelt(コマンドラインユーティリティ) gitインストールと構成。 (GITに精通していることが推奨されます。)

展開できるプロジェクトがある場合は、次のセクションをスキップして「Herokuプロジェクトの作成」に進みます。
  1. プロジェクトの例:
  2. この例では、Python Flaskアプリケーションを使用しています。 他のプロジェクトにプロセスを適応させることができます。 独自のプロジェクトがある場合は、このセクションをスキップしてください Project Directory(例えば、
)を作成します

次のようにファイルに入力します:

myproject

<code>/myproject
  /templates
    index.html
  app.py
  requirements.txt</code>

app.py依存関係をインストール:

import os
import flask

app = flask.Flask(__name__)

@app.route("/")
def index():
    return flask.render_template("index.html")

if __name__ == "__main__":
    app.run(port=os.environ.get('PORT', '5000'))

templates/index.html

<!DOCTYPE html>
<html>
  <head>
    <title>My example project</title>
  </head>
  <body>
    <h1 id="This-is-my-project">This is my project.</h1>
  </body>
</html>
Herokuプロジェクトの作成:

requirements.txt

  1. 端末のプロジェクトディレクトリに移動します。
  2. gitを初期化します:git init
  3. Herokuアプリを作成します:heroku create(またはheroku create myproject名前を指定します)。 これにより、名前、URL、およびGITリポジトリが生成され、Herokuリモートリポジトリの初期化があります。

buildpacksの理解:

HerokuはBuildPacksを使用してプロジェクトを管理します。 これらは、依存関係の検索、構築、および実行に関する指示を提供します。 いくつかの言語(node.js、Ruby、Java、Clojure、Scala、PHP、Python、GO)には公式のBuildPackが存在します。 Herokuは、規則に基づいてプロジェクトの種類を自動的に検出します(例:Pythonの場合

)。 サードパーティのビルドパックは、他の言語をサポートするか、ツールをビルドします requirements.txt

procfileの構成:

Herokuは

を使用して実行するものを決定します。 簡単なWebアプリケーションの場合は、次のコンテンツでA

を追加します。 Procfile Procfile(パフォーマンスを改善するには、Gunicorn:

に追加し、>で
<code>/myproject
  /templates
    index.html
  app.py
  requirements.txt</code>
を使用してください。)

を使用してください。 requirements.txtweb: gunicorn app:app -b 0.0.0.0:$PORTプロジェクトの展開:Procfile

追加してコミットします:

  1. Herokuへの展開:Procfilegit add Procfile && git commit -m "Added Procfile"
  2. git push heroku master展開が完了!

アプリケーションを展開する必要があります。 Herokuが提供するURLを介してアクセスします 追加のherokuコマンド:

:永続的な構成値を設定します。

    :Webプロセスを拡大します(コストの影響により慎重に使用してください)。
  • heroku config:set MY_ENV_VARIABLE=some_value:アプリリリースをリストします。
  • heroku ps:scale web=5:特定のリリースに戻ってロールバックします。
  • heroku releases:最新リリースを元に戻します。
  • heroku rollback <release_identifier></release_identifier>これらは、Heroku Dashboardを介して管理することもできます
  • よくある質問(FAQS):heroku rollback
  • (このセクションは、すでにかなり長いため、応答を簡潔に保つために省略されています。必要に応じて、元のFAQを簡単に再統合できます。 )

以上がHerokuへの展開:はじめに - SitePointの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
2025年に購読する上位21の開発者ニュースレター2025年に購読する上位21の開発者ニュースレターApr 24, 2025 am 08:28 AM

これらのトップ開発者ニュースレターを使用して、最新のハイテクトレンドについてお知らせください! このキュレーションされたリストは、AI愛好家からベテランのバックエンドやフロントエンド開発者まで、すべての人に何かを提供します。 お気に入りを選択し、Relを検索する時間を節約してください

AWS ECSとLambdaを備えたサーバーレス画像処理パイプラインAWS ECSとLambdaを備えたサーバーレス画像処理パイプラインApr 18, 2025 am 08:28 AM

このチュートリアルは、AWSサービスを使用してサーバーレスイメージ処理パイプラインを構築することをガイドします。 APIゲートウェイ、Lambda関数、S3バケット、およびDynamoDBと対話するECS Fargateクラスターに展開されたnext.jsフロントエンドを作成します。 th

CNCF ARM64パイロット:インパクトと洞察CNCF ARM64パイロット:インパクトと洞察Apr 15, 2025 am 08:27 AM

このパイロットプログラム、CNCF(クラウドネイティブコンピューティングファンデーション)、アンペアコンピューティング、Equinix Metal、およびActuatedのコラボレーションであるCNCF GithubプロジェクトのARM64 CI/CDが合理化されます。 このイニシアチブは、セキュリティの懸念とパフォーマンスリムに対処します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい