公開によってプロジェクトはパブリックアプリに変わります。公開に失敗した場合、または公開URLがプレビューと異なる動作をする場合は、順を追って問題を解決してください。 このページはBuildの復旧ガイドとデプロイのトラブルシューティングリファレンスを兼ねています。最もシンプルな問いから始めましょう:アプリはプレビューで動作しますか?Documentation Index
Fetch the complete documentation index at: https://docs.replit.com/llms.txt
Use this file to discover all available pages before exploring further.
達成できること
このページを読み終えると、問題がアプリ自体、公開設定、本番環境のSecrets、デプロイタイプ、ポート設定、ネットワーク/DNSアクセスのいずれにあるかを特定できるようになります。プレビューから始める
公開前に、プロジェクトエディターでアプリが正しく動作することを確認してください。 プロジェクトエディター上部のRunを選択し、プレビューを開きます。プレビューにreplit.dev URLでアプリが表示されない場合は、公開前にアプリを修正してください。
まずAgentにプレビューの診断を依頼しましょう:
プレビューが機能しない場合、公開しても解決しません。
プレビューは動作するが公開に失敗する場合
プレビューは動作するが公開に失敗する場合は、公開固有の設定を確認してください。ログを確認する
PublishingペインのLogsタブを開きます。スタックトレース、パッケージの不足、コマンドの失敗、環境変数の欠如、起動エラーを探してください。 関連するエラーをAgentにペーストしてください:実行コマンドとビルドコマンドを確認する
よくあるミスには、タイプミス、誤ったフラグ、エントリファイルの間違い、ローカルでしか動作しないコマンドなどがあります。 Publishingペインでコマンドを確認してください。アプリにビルドコマンドと起動コマンドの両方が必要な場合は、両方が正しいことを確認してください。本番環境のSecretsを確認する
プロジェクトエディターで設定したSecretsは、公開済みアプリに自動的に引き継がれません。Publishingペインで本番環境のSecretsと環境変数をすべて追加してください。 Secretsの欠如は、未定義の値に関するエラー、APIコールの失敗、データベース接続の失敗、ログインエラー、決済の失敗などを引き起こす可能性があります。 Secretsを参照してください。長時間実行プロセスの動作を確認する
公開済みアプリは、プログラムが継続して実行されることを前提としています。プログラムが一度実行されて終了する場合、プラットフォームは自動的に再起動します。 アプリケーションがウェブサーバーなどの長時間実行プロセスを起動することを確認してください。ホストとポートの設定を確認する
ウェブサーバーを実行している場合、Deploymentsはサーバーが使用するポートを自動的に検出できますが、サーバーは0.0.0.0でリッスンする必要があります。localhostまたは127.0.0.1のみでリッスンしている場合、公開済みアプリでは動作しません。
.replit設定でポートを指定している場合、自動ポート検出は無効になります。プロモーションステップを通過するには、externalPortを80に設定したポートを指定する必要があります。サーバーが指定したlocalPortでリッスンしていることを確認してください。
Agentに詳しく確認してもらいましょう:
ヘルスチェックのタイミングを確認する
公開済みアプリをライブとしてマークする前に、ReplitはアプリにHTTPリクエストを送信します。ホームページの応答に5秒以上かかる場合、ヘルスチェックがタイムアウトし、最終ステップで公開が失敗することがあります。 起動が遅い場合は、Agentに起動時の処理を減らすよう依頼するか、重い処理をユーザーアクションの後ろに移動させるか、適切な箇所でデータをキャッシュするよう依頼してください。公開は成功したが公開URLが機能しない場合
プレビューが動作し公開も成功したのに、公開URLが機能しない場合は、プレビューと本番環境の動作を比較してください。 確認事項:- 本番環境のSecretsと環境変数。
- データベース接続設定。
- ログインコールバックまたはリダイレクトURL。
- 決済ウェブフックまたはリダイレクト設定。
- APIの許可リストまたはCORS設定。
- データベースやストレージサービスではなくローカルに書き込まれたファイル。
- モバイルレイアウトとブラウザの違い。
静的デプロイの問題
静的デプロイはHTML、CSS、JavaScriptなどの静的ファイルを配信します。 アプリにサーバーサイドの処理、APIルート、認証コールバック、サーバーからのデータベース呼び出し、または長時間実行されるバックエンドロジックが含まれている場合、静的デプロイには適していない可能性があります。代わりにPublishingペインでデプロイタイプをAutoscaleに変更してください。 静的デプロイの問題は、publicディレクトリの指定が誤っているか、サーバーが必要なアプリに対してStaticを選択したことが原因であることが多いです。ファイルとサイズの制限
Reserved VMおよびAutoscale DeploymentsはReplit Appsを最大8 GBまでサポートします。静的デプロイは最大1 GBまでサポートします。 アプリサイズを削減するには、不要なファイルを削除し、生成された出力のコミットを避けるか、大きなアセットには外部ストレージを使用してください。 アップロードされたファイルや生成されたデータが公開後に消える場合は、アプリのファイルシステムではなくデータベースまたはストレージサービスに保存してください。replit.appおよびreplit.dev URLへのアクセス問題
replit.appまたはreplit.devドメインでアプリにアクセスできない場合、ウェブフィルターやネットワーク制限が原因である可能性があります。
Google DNS(8.8.8.8)またはCloudflare DNS(1.1.1.1)などのパブリックDNSリゾルバーを試してください。
DNS設定を変更する
- Windows
- macOS
- Linux
- コントロールパネルを開きます。
- ネットワークと共有センターに移動します。
- 左側のアダプターの設定の変更を選択します。
- アクティブなネットワーク接続を右クリックし、プロパティを選択します。
- インターネット プロトコル バージョン 4 (TCP/IPv4) を選択し、プロパティをクリックします。
- 次のDNSサーバーのアドレスを使うを選択します。
- Google DNSの場合は
8.8.8.8、Cloudflare DNSの場合は1.1.1.1などのパブリックDNSサーバーIPアドレスを入力します。 - OKを選択して変更を保存します。
DNSキャッシュをクリアする
DNS設定を変更した後、新しい設定を適用するためにDNSキャッシュをクリアしてください:- Windows: コマンドプロンプトで
ipconfig /flushdnsを実行します。 - macOS and Linux: ターミナルで
sudo systemctl restart NetworkManagerを実行します。正確なコマンドはディストリビューションによって異なる場合があります。
地域のパフォーマンスと安定性を向上させるため、Replit Appsの
replit.dev
URLはクラスターの移行中に変更される場合があります。移行が完了すると、
URLは明示的に場所の変更をリクエストしない限り、約1年間安定して維持されます。Streamlitアプリケーションを公開する
StreamlitアプリケーションはReplit Deploymentsで動作します。最も簡単に始める方法はStreamlitテンプレートを使用することです。 または、公開用の実行コマンドを以下のように設定してください:main.pyをそのファイル名に置き換えてください。
完了の確認
- プレビューが動作している。
- 公開が完了している。
- 公開URLが読み込まれる。
- 公開URLでメインのアプリフローが動作する。
- 本番環境のSecretsと設定が構成されている。
- ログに隠れた起動エラーが表示されていない。