ウェブターミナル
アプリケーションのウェブターミナルを使用すると、アプリケーションのウェブプロセスが実行されているコンテナにコマンドラインでアクセスすることができます。ウェブターミナルを使用して、スクリプトの実行、ファイルの読み込みが可能です。問題のデバッグやパフォーマンスの監視、手動でのスクリプト実行(アドホック)に便利です。
ウェブターミナルにアクセスするには、以下が必要になります。
- アプリケーションのデプロイに少なくとも1回成功している
- アプリケーションが正常に動作している(エラーが発生したり、アプリケーションが停止したりすると、ウェブターミナルは使用できません)
ウェブターミナル
「アプリケーション」>(アプリ名)>「ウェブターミナル」でアクセス可能です。上部のドロップダウンメニューからシェルの種類を切り替えることができ、 sh
、bash
、zsh
から選択可能です。右隣のドロップダウンメニューでは、「ウェブプロセス」「バックグラウンドワーカー」「cronsジョブ」を切り替えることができます。

Nixpacksのバイナリディレクトリ
Nixpacksでは、バイナリディレクトリがアプリケーション言語のデフォルトバイナリディレクトリと異なる場合があります。次の表は、一般的な言語で使用されるバイナリディレクトリを示しています。
言語 | ディレクトリ |
---|---|
Node.js | /nix/var/nix/profiles/default/bin/node |
Ruby | /nix/var/nix/profiles/default/bin/ruby |
Python | /nix/var/nix/profiles/default/bin/python |
Java | /nix/var/nix/profiles/default/bin/java |
Scala | Scalaには、他のコンパイル済み言語のような特定のデフォルトバイナリパスがありません。Scalaプログラムをコンパイルすると、Java仮想マシン(JVM)上で動作するバイトコードが生成されます。 コンパイルしたScalaクラスは通常、コードのパッケージ構造を反映したディレクトリに格納されます。これはJavaのクラスの構成に似ています。デフォルトでは、Scalaソースファイルをコンパイルすると、コンパイルされた.classファイルはソースコードと同じディレクトリ(パッケージ宣言に基づくサブディレクトリ構造内)に配置されます。 必要に応じて、Nixpackを使用する代わりにDockerfileを使用してScalaのランタイムツールをインストールすることができます。 |
PHP | /nix/var/nix/profiles/default/bin/php |
Go | Goには、他のコンパイル言語のような特定のデフォルトバイナリパスがありません。Goプログラムをコンパイルすると、通常、結果のバイナリ実行ファイルはソースコードと同じディレクトリにデフォルトで配置されます。 必要であれば、Nixpackを使用する代わりに、Dockerfileを使用してGoのランタイムツールをインストールすることができます。 |
Buildpacksのバイナリディレクトリ
Buildpacksを使用してMyKinstaにアプリケーションを追加すると、バイナリディレクトリがアプリケーション言語のデフォルトのバイナリディレクトリと異なる場合があります。次の表は、各Buildpack言語で使用されるバイナリディレクトリを示しています。
言語 | ディレクトリ |
---|---|
Node.js | /layers/heroku_nodejs-engine/dist/bin/node |
Ruby | /usr/bin/ruby |
Python | /usr/bin/python |
Java | /layers/heroku_jvm/openjdk/bin/java |
Scala | Scalaには、他のコンパイル済み言語のような特定のデフォルトバイナリパスはありません。Scalaプログラムをコンパイルすると、Java仮想マシン(JVM)上で動作するバイトコードが生成されます。 コンパイルしたScala クラスは通常、コードのパッケージ構造を反映したディレクトリに格納されます。これはJavaのクラスの構成に似ています。デフォルトでは、Scalaソースファイルをコンパイルすると、コンパイルされた.classファイルはソースコードと同じディレクトリ(パッケージ宣言に基づくサブディレクトリ構造内)に配置されます。 必要に応じて、buildpackの代わりにDockerfileを使ってScalaのランタイムツールをインストールすることができます。 |
PHP | /workspace/.heroku/php/bin/php |
Go | Goには、他のコンパイル言語のような特定のデフォルトバイナリパスがありません。Goプログラムをコンパイルすると、結果のバイナリ実行ファイルは通常、デフォルトでソースコードと同じディレクトリに置かれます。 必要であれば、buildpackの代わりにDockerfileを使ってGoのランタイムツールをインストールすることができます。 |
Nixpacksを使ったDjango/Pythonコマンド
Nixpacksを使用していて、ウェブターミナル内で Django/Pythonコマンドを実行したい場合は、まず以下のコマンドで仮想環境を有効にします。
. /opt/venv/bin/activate
続いて以下のコマンドを実行します。
python manage.py
トラブルシューティング
- ウェブターミナルを開いたときに、ターミナル画面の代わりに「Error 1016 – Origin DNS」ページが表示される場合、これはDNSの伝搬に若干の遅れがあるためです。ターミナル画面が表示されるまで1分ほど待ち、ページを更新してください。数分以上経っても問題が解決しない場合は、サポートまでご連絡ください。
- ウェブターミナルを開き、「 Connection closed with error code: 4005」または「 Connection closed with error code: 4001」が表示された場合は、アプリケーションが実行中であり、アクセス可能であるかどうかを確認してください。