PCを起動してなくてもプログラムを常に実行し続ける方法【heroku】

この記事では、PCを起動したままにしなくても無料でPython等のプログラムを常時実行し続ける方法を説明します!

今回はherokuというサーバーを使用します。

目次
  1. herokuへの登録
  2. herokuへプログラムをアップロード
  3. 常時実行できるようにする

herokuへの登録

herokuを使用するためにはまずは登録が必要です。

herokuへの登録はこちらから

herokuに登録したら、PCにheroku CLIとgitをインストールする必要があります。

gitのダウンロードはこちらからできます。

heroku CLIのダウンロードは

Windowsの場合

こちらからインストーラーをダウンロードできます。

Macの場合

ターミナルを開き、以下のコマンドを入力してください。

brew tap heroku/brew && brew install heroku

ubuntuの場合

ターミナルを開き、以下のコマンドを入力してください。

sudo snap install --classic heroku

ターミナルでherokuへログイン

ターミナル(コマンドプロンプト)を開き、以下のように入力します。

heroku login

するとpress any keyみたいなのがでてくるのでqキー以外のキーを押します。

ブラウザが開くのでログインしてください。ログインしたらターミナルに戻ってください。

herokuへプログラムをアップロード

まずはアップロードしたいフォルダでターミナルを開きます。

Windowsの場合は以下のようにすると簡単です。

Windowsでファイルの場所でcmdを開く

まずはherokuでアプリを作成します。以下のようにコマンドを入力してください。

heroku create アプリ名

doneという文字があれば成功です。

この時に出てくる.gitで終わるリンクは後で必要になるのでコピーなどしておいてください。

次に、herokuでプログラムを常駐化するための設定ファイルを作成します。

Procfileというファイルを作ってください。(拡張子なし、つけてはいけません)

それをテキストエディタで開き、以下を入力します。

app: 実行するコマンド

実行するコマンドのところには実行したいコマンドを入力します。例えばpythonを実行する場合は

app: python ファイル名.py

となります。

Pythonの場合はruntime.txtとrequirements.txtを作成する必要があります。

まずは以下のコマンドでPythonのバージョンを確認してください。

python -V

※Windowsの場合は

py -V

そしたら、プログラムが入ってるところと同じ場所にruntime.txtを作成します。

そこに以下のように記述します。

python-3.9.0

3.9.0のところはさっき調べたPythonのバージョンに変えてください。

requirements.txtの作成は、以下のコマンドを実行すると生成されます。

pip freeze > requirements.txt

それではherokuにプログラムをアップロード(デプロイ)します。

引き続きターミナル(コマンドプロンプト)で以下を順番に実行します。

git init
git remote add heroku https://git.heroku.com/アプリケーション名.git

アプリケーション名のところには最初に作ったアプリの名前を入れてください。または、アプリを作成するときにコピーしたリンクをこのリンクのところに入れてください。

ここでもしremote heroku already exists.と言われたら、

git remote rm heroku

を実行後、もう一度実行してください。

問題なければ以下を実行してください。

git add .
git commit -m "commit1"
git push heroku master

ERRORという表記がなければ成功です。

エラーがあった場合はruntime.txtが正しい表記がどうかなどを確認してみてください。

その後、もう一度コマンドの実行をやり直してみてください。

常時実行できるようにする

全てできたら最後に

heroku ps:scale app=1

を実行します。これを実行するとプログラムが稼働し始めます。

止めたいときは

heroku ps:scale app=0

で止まると思います。

herokuはクレジットカードを登録していない状態だと月550時間しか稼働できません。ずっとプログラムを動かしている状態だと、毎月23日以降は止まってしまいます。

クレジットカードを登録すれば。それに加えて450時間がプラスされるのでずっと動かしていても止まることはありません。

登録は以下からできます。登録しても勝手にお金がひかれることはありません。未成年の方や、登録したくない方は。バンドルカードやVプリカも残高があれば使えるようです。

クレカ登録

以上で完了です。