WeChatミニプログラムの開発後、どのようにデプロイして公開するかは多くの開発者が直面する最初の課題です。本記事では、典型的なWeChatミニプログラムプロジェクト(フロントエンド + SpringBoot バックエンド + PostgreSQL データベース)のサーバー環境準備から最終公開までの完全な手順を詳しく解説します。
プロジェクトアーキテクチャ
本記事では miniprogram-demo プロジェクトを例に、プロジェクト構造は以下の通りです:
1 | miniprogram-demo/ |
技術スタック:
- フロントエンド:WeChatミニプログラム ネイティブ開発
- バックエンド:SpringBoot 2.7 + MyBatis-Plus
- データベース:PostgreSQL
- デプロイ:Nginx + HTTPS
第1部:サーバー環境準備
1. サーバー構成の確認
WeChatミニプログラムのデプロイには以下の環境が必要です:
- Java 11+(JDK 17推奨)
- PostgreSQL 12+
- Nginx(リバースプロキシおよびHTTPS用)
- ICP登録済みのドメイン(WeChatの必須要件)
インストール済みコンポーネントの確認:
1 | java -version |
2. 不足コンポーネントのインストール
Ubuntu/Debian システム:
1 | sudo apt update |
CentOS/RHEL システム:
1 | sudo yum install java-17-openjdk postgresql-server nginx -y |
第2部:データベース初期化
3. データベースとユーザーの作成
PostgreSQLにログイン:
1 | sudo -u postgres psql |
以下のSQLコマンドを実行:
1 | CREATE USER demo WITH PASSWORD 'your_secure_password'; |
4. データベーステーブル構造の初期化
プロジェクトはLiquibaseを使用してデータベースバージョン管理を行っています。アプリケーション起動時に自動的にテーブルが作成されます。手動初期化が必要な場合:
1 | psql -U demo -d demo_db -f docs/sql/init.sql |
第3部:バックエンドデプロイ
5. 本番環境設定
重要:本番環境の設定ファイルはGitにコミットしないでください。機密情報の漏洩を防ぎます。
サーバーに設定ディレクトリを作成:
1 | mkdir -p /opt/demo/config |
本番環境設定ファイル /opt/demo/config/application.yml を作成:
1 | server: |
6. JARパッケージのビルド
1 | cd ~/work/code/miniprogram-demo/backend |
ビルド成果物:backend/target/miniprogram-demo-1.0.0-SNAPSHOT.jar
7. サーバーへのアップロード
1 | scp backend/target/miniprogram-demo-1.0.0-SNAPSHOT.jar user@server:/opt/demo/ |
8. systemdサービスの作成(推奨)
バックエンドサービスの自動起動とクラッシュ時の自動再起動のためにsystemdサービスを作成します:
1 | sudo vim /etc/systemd/system/demo.service |
以下の内容を書き込み:
1 | [Unit] |
サービスの起動:
1 | sudo systemctl daemon-reload |
第4部:HTTPS設定
WeChatミニプログラムはバックエンドインターフェースにHTTPSを強制要求します。
9. SSL証明書の取得
方法1:Let’s Encryptを使用(無料、推奨)
1 | sudo apt install certbot python3-certbot-nginx |
10. Nginxリバースプロキシの設定
1 | sudo vim /etc/nginx/sites-available/demo |
以下の内容を書き込み:
1 | server { |
設定を有効化してNginxをリロード:
1 | sudo ln -s /etc/nginx/sites-available/demo /etc/nginx/sites-enabled/ |
第5部:WeChatミニプログラム設定
12. ミニプログラムのバックエンドアドレス変更
miniprogram/app.jsを編集し、baseUrlを本番環境のドメインに変更:
1 | globalData: { |
注意:ミニプログラムの本番環境では必ずHTTPSを使用する必要があります。
13. サーバードメインの設定
WeChat公式プラットフォームにログイン:
- 開発管理 → 開発設定 → サーバーアドレス
- リクエスト有効ドメインに
https://your-domain.comを追加
重要:
- ドメインは必ずICP登録が完了している必要があります
- ドメインはHTTPSに対応している必要があります
14. WeChatミニプログラムのAppIDとSecretの取得
WeChat公式プラットフォームで:
- 開発管理 → 開発設定 → 開発者ID
- AppIDとAppSecretをコピー
バックエンド設定ファイルに入力:
1 | wechat: |
バックエンドサービスを再起動:
1 | sudo systemctl restart demo |
第6部:ミニプログラムの公開
15. WeChat開発者ツールでアップロード
- WeChat開発者ツールを開く
miniprogram/ディレクトリをインポート- 正しいAppIDを入力
- すべての機能をテスト
- 右上のアップロードボタンをクリック
- バージョン番号と説明を入力
16. レビュー提出と公開
WeChat公式プラットフォームにログイン:
- バージョン管理に入る
- アップロードした開発バージョンを探す
- レビュー提出をクリック
- レビュー説明を入力
- レビュー待ち(通常1〜3営業日)
- レビュー通過後、公開をクリック
第7部:検証チェックリスト
公開前に逐项確認:
- PostgreSQLが正常に動作し、データベースに接続可能
- バックエンドサービスが正常に起動(
systemctl status demo) - HTTPSでアクセス可能(
curl https://your-domain.com/) - WeChatバックエンドに有効ドメインが設定済み
- ミニプログラムの
baseUrlがHTTPSドメインに変更済み - AppIDとSecretが正しく入力されている
- ローカルテストが正常
- 実機テストが正常
- ミニプログラムのアップロード、レビュー通過、公開が完了
よくある質問
Q1: 実機デバッグで「リクエスト有効ドメインリストにない」エラー
解決方法:WeChat公式プラットフォーム → 開発管理 → 開発設定 → サーバーアドレスでドメインを追加してください。
Q2: バックエンド起動時にデータベース接続失敗
確認手順:
- PostgreSQLの動作確認:
sudo systemctl status postgresql - データベースのユーザー名/パスワードの確認
- データベースの作成確認:
psql -U postgres -l | grep demo_db
Q3: wx.getUserProfileの呼び出しエラー
原因:该接口は2022年以降に廃止されました。
解決方法:「アバターニックネーム入力コンポーネント」を代わりに使用してください。
Q4: サーバーメモリ不足(2GB的小型サーバー)
最適化提案:
- PostgreSQL + Javaで約800MB〜1.2GBのメモリが必要です
- Swap領域の設定:
sudo fallocate -l 2G /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile - JVMメモリパラメータの設定:
-Xmx512m -Xms256m
まとめ
WeChatミニプログラムのデプロイは複数のステップを含みます:サーバー環境構築、データベース設定、バックエンドデプロイ、HTTPS設定、ミニプログラム設定、そして最終公開。全体の流れは複雑に見えますが、手順を一つずつ着実に進めればスムーズに公開できます。
重要ポイント:
- ドメインは必ずICP登録が完了し、HTTPSに対応している必要があります
- 本番環境設定はGitにコミットせず、独立して管理してください
- systemdを使用してサービスを管理すると、自動起動とクラッシュ時の再起動が可能です
- ミニプログラムの公開前には必ず実機テストを十分に行ってください
- SSL証明書は定期的に更新し、サービスの安定性を確保してください