メインコンテンツへスキップ

はじめに

Square Cloud で を開発してホストするには、構成と前提条件の体系的な手順に従うことが不可欠です。この技術ガイドでは、初期セットアップから本番環境へのデプロイまで、プロセス全体を解説します。

前提条件

  • Square Cloud アカウント: 登録ページからメールアドレスを使って登録します。
  • 有効な有料プラン: アプリケーションに専用リソースと最適化されたパフォーマンスを提供します。利用可能なプランを確認し、ニーズに最も適したものを選択してください。

プロジェクトの作成

Django アプリケーションを作成するには、手順を進める前にシステムに Python と pip がインストールされている必要があります。

ライブラリのインストール

Python と pip がインストールされていれば、新しい Django プロジェクトを作成できます。まず、pip を使って Django をインストールします。
pip install django

プロジェクトの開発

新しい Python ファイル(例: app.py)を作成し、次のコードを追加して基本的な Django アプリケーションを作成します。
app.py
from django.conf import settings
from django.http import HttpResponse
from django.urls import path
from django.core.wsgi import get_wsgi_application

# Basic Django settings
settings.configure(
    DEBUG=False,                # Disable debug mode
    SECRET_KEY='mysecretkey',   # Define your secret key
    ALLOWED_HOSTS=['*'],        # Allow all hosts for simplicity
    ROOT_URLCONF=__name__,      # Set the root URL configuration to this module
    MIDDLEWARE_CLASSES=(),      # Use an empty tuple to disable middleware
)

# Simple view
def index(request):
    return HttpResponse("Hello world!")  # Return a simple HTTP response

# URL configuration
urlpatterns = [
    path('', index),  # Map the root URL to the index view
]

# WSGI application
application = get_wsgi_application()

# WSGI server
if __name__ == "__main__":
    from wsgiref.simple_server import make_server
    httpd = make_server('', 80, application)  # Serve the application using WSGI server on port 80
    print("Django server running on port 80...")
    httpd.serve_forever()  # Start the server
上記のコードでは、アクセスすると「Hello, World!」を返す基本的なルートを作成しました。アプリケーションは、HTTP トラフィックのデフォルトポートであるポート 80 で実行されるように設定されています。 次に、依存関係ファイルを作成する必要があります。Python では requirements.txt または pyproject.toml があります。

本番サーバーの選択

Django に組み込まれている開発サーバーは本番環境での使用には適していません。代わりに、Gunicorn のような本番環境向けの WSGI サーバーの使用を推奨します。

Gunicorn

Gunicorn は UNIX 向けの Python WSGI HTTP サーバーです。プリフォーク型のワーカーモデルを採用しており、複数のワーカープロセスをフォークしてリクエストを処理します。 これにより、本番環境で Python の Web アプリケーションを実行するのに最適な選択肢となります。

デプロイ

プロジェクトファイルの準備が整ったら、それらを Square Cloud にアップロードしてプロジェクトをホスティングできます。 そのためには、すべてのプロジェクトファイルを含む ZIP ファイルを作成します。
マイグレーションを適用する必要がある Django プロジェクトの場合は、Square Cloud にデプロイする前に必ず適用してください。
これはローカル環境で次のコマンドを実行することで行えます。
python manage.py migrate

ダッシュボード経由

1

アップロードページにアクセス

アップロードページにアクセスし、プロジェクトの zip ファイルをアップロードします。
2

環境を設定

zip をアップロードした後、プロジェクトの名前、メインファイルまたはランタイム環境、その他の設定を構成する必要があります。
ウェブプロジェクトをアップロードする場合は、必ず「Web Publication」を選択し、プロジェクトにサブドメインを設定してください。
3

プロジェクトをデプロイ

最後に「Deploy」ボタンをクリックして、プロジェクトを Square Cloud にホストします。
デプロイ後、ダッシュボードからプロジェクトのステータスとログを監視できます。
Square Cloud へのアプリケーションのアップロード

CLI 経由

この方法を使用するには、プロジェクトのルートディレクトリに squarecloud.app という名前の設定ファイルを作成する必要があります。このファイルには、プロジェクトに必要な設定が含まれます。

詳細はこちら: Square Cloud の設定ファイルの作成方法。

squarecloud.app ファイルはアプリケーションを構成するために使用される設定ファイルであり、環境を定義するために使用されます。
1

CLI をインストール

まず、環境に CLI がインストールされている必要があります。まだの場合は、ターミナルで次のコマンドを実行してください:
npm install -g @squarecloud/cli
すでにお持ちの場合は、更新することを推奨します。更新するには、ターミナルで次のコマンドを実行してください:
squarecloud update
2

認証

次に、認証して他の CLI コマンドを使用するには、こちらで「Request API Key」をクリックして認証キーを取得します。認証キーを取得したら、次のコマンドを実行してください:
squarecloud auth login
3

プロジェクトをアップロード

最後に、CLI を使用してアプリケーションを Square Cloud にデプロイするには、次のコマンドを実行する必要があります:
squarecloud upload 
または、zip を手動で作成した場合は、次を使用できます:
squarecloud upload --file <path/to/zip> 

追加リソース

Django とそのツールに関する詳細については、Django 公式ドキュメント を参照してください。 そこには、Django を最大限に活用するための詳細なガイド、チュートリアル、API ドキュメントが用意されています。

トラブルシューティング

カスタムドメイン

デフォルトの URL mysite.squareweb.app の代わりにカスタムドメイン(例: mysite.com)を使用するには、Standard プラン以上が必要です。サブドメインは設定ファイルの SUBDOMAIN フィールドで定義します。

最小 RAM 要件

シンプルなウェブサイト/API の場合は最小 512MB RAMです。フレームワーク(Next.JS、React、Vue、Angular など)を使用するサイトでは、常に最低 1GB RAMを推奨します。より大規模なアプリケーションでは、メモリ不足でアプリケーションがクラッシュするのを防ぐため、より多くの RAM を割り当ててください。

このサイトが見つかりませんでした。

サブドメイン/ドメインSUBDOMAIN フィールドまたはカスタムドメイン設定で構成されている内容と一致しているか確認してください。サイトをアップロードしたばかりの場合は、Square が初回アクセスを有効化するまで最大 60 秒お待ちください。

サイトの応答に時間がかかりすぎました…

アプリケーションでポート 80ホスト 0.0.0.0 を正しく設定しているか確認してください。Square の強制環境変数である .env ファイルの PORTHOST を使用することを推奨します。

お問い合わせ

技術的な問題が解決しない場合は、専門のサポートチームがお手伝いします。お問い合わせいただければ、どのような問題でも喜んで解決をサポートいたします。