Azureの上のホストstrapi 3
15228 ワード
私はもともと、公式のstrapiドキュメントのガイドとして、次の貢献が、彼らは今のところ、strapiのv 4に取り組んでいるように、私はまだそれはまだどこかに含めることが良いと考えたので、ここに私のブログにあります!その結果、内容のレイアウトは私の通常のブログスタイルではありません.
あなたが新しいならばStrapi , Strapiはどこかにホストし、アプリケーションにコンテンツをプルするAPIを使用して、あなたのお気に入りのJavaScriptフレームワーク、モバイルアプリケーション、または何か他のスパであることを見出しなしCMSです.
v 4が書き込み時にベータ版であるので、これらのガイドはStrapiのV 3リリースに対してテストされます.ここでカバーされている内容の多くがV 4に適用されることが多いでしょう.私が変更することを望む唯一のことは、ファイルアップロードプロバイダーを使用する方法です.
Azureインストール要件 あなたはAzure account これらの手順を実行する前に.
目次 Create resources using the portal
Create using the Azure CLI
Create Azure Resource Manager template
Storing files and images with Azure Storage
必要資源
Apaureには3つのリソースがあります.AppService strapi WebアプリケーションをホストするにはStorage イメージ/アップロードされた資産とデータベースを保存するために、AzureはMySQLとPostgresを選択するように管理しました.
Azureポータル経由でリソースを作成する
この節では、Azureポータルを使用して、strapiをホストするために必要なリソースを作成します. 移動するAzure Portal 指定した検索ボックスからリソースを作成し、リソースグループを検索する リソースグループの名前を指定します. をクリックします リソースグループに移動し、リソースを作成する
Webアプリの検索 サブスクリプションおよびリソースグループが正しいことを確認し、アプリケーションの次の構成を提供します アプリケーションサービスの計画を使用して、適切なSKUと規模のアプリのスケールのレベルを選択する必要がありますthe Azure docs 様々なskuとsizeについての詳細は をクリックします リソースグループに移動し、「作成」をクリックしてストレージアカウントを検索し、「作成」をクリックします 購読とリソースグループが正しいことを確認し、ストレージアカウントに次の設定を提供します. をクリックします リソースグループに移動し、[ MySQLのAzureデータベースの作成]をクリックし、[作成]をクリックします サービスタイプの選択 購読とリソースグループが正しいことを確認し、ストレージアカウントに次の設定を提供します. 管理者アカウントのユーザー名とパスワードを入力する
リソースの設定
すべてのリソースが作成されると、MySQLとストレージアカウントのWebアプリケーションへの接続情報を取得するだけでなく、使用するリソースを設定する必要があります.
ストレージアカウントの設定 ストレージアカウントリソース、データストレージ-コンテナに移動します
新しいコンテナを作成し、名前を指定します.
セキュリティ+ネットワークにアクセス-アクセスキー、ストレージアカウント名とキー1をコピーします
あなたが作成し、設定に移動するWebアプリケーションに移動-設定
ストレージアカウント、ストレージアカウントキー、コンテナ名の新しいアプリケーション設定を作成します
MySQLの設定 MySQLリソースへの移動
セット
概要とコピーサーバー名とサーバー管理名
開けるAzure Cloud Shell にログインし、 使用するstrapiのデータベースを作成する オプション-別の非サーバ管理者を作成します.this doc 指導のために あなたが作成し、設定に移動するWebアプリケーションに移動-設定
データベースホスト、ユーザー名とパスワードのための新しいアプリケーション設定を作成します
Azure CLIを介してリソースを作成する
このセクションでは、Azure CLI 必要なリソースを作成します.これは、AzureのCLIとどのように適切な値を見つける方法に精通していると仮定します.
新しいリソースグループを作成する
新しいLinuxアプリサービスプランを作成
ノードを実行しているWebアプリケーションを作成します.JS 14
ストレージアカウントの作成
MySQLデータベースの作成
Webアプリケーションに設定値を追加する
Azureリソースマネージャーテンプレートの配備
Azureリソースマネージャーテンプレートを使用して展開するには、以下のBottonを使用しますthis template Azureのカスタム展開として.
ファイルとイメージの保存
AppServiceがPaaSホスティングモデルであるので、アップロードプロバイダーはアップロードされた資産をAzure Storageに保存することを要求されます.チェックアウトhttps://github.com/jakeFeldman/strapi-provider-upload-azure-storage アップロードプロバイダーとしてAzureストレージを使用する詳細については.
地方開発
ローカル開発の場合は、標準のstrapiファイル/イメージアップロードプロバイダー(ローカルディスクに格納されている)を使用することもできますAzurite emulator .
strapiの配備と実行
Azure AppServiceは、CI/CDパイプラインを使用するか、またはFTPS経由で展開することができますAzure docs あなたの好みの方法のためにこれをする方法.
ノードを開始します.アプリケーションは、AppService
結論
これは、AzureのさまざまなPAA機能をホストのstrapiに使用する方法と、これらのリソースを設定できるさまざまな方法を見ることができました.私はリソースマネージャテンプレートを自分で使用し、将来の展開がスムーズに起こるように、GithubアクションをCI/CDパイプラインとして設定することを好みます.
うまくいけば、これはまた、あなたがAzureで実行しているあなたのstrapiサイトを得ることをより簡単にします、そして、一旦strapi 4が出ているならば、私はAzureでホストをつとめているとき、あなたが意識する必要がある違いに関するいくつかの更新された内容を得ます.
あなたが新しいならばStrapi , Strapiはどこかにホストし、アプリケーションにコンテンツをプルするAPIを使用して、あなたのお気に入りのJavaScriptフレームワーク、モバイルアプリケーション、または何か他のスパであることを見出しなしCMSです.
v 4が書き込み時にベータ版であるので、これらのガイドはStrapiのV 3リリースに対してテストされます.ここでカバーされている内容の多くがV 4に適用されることが多いでしょう.私が変更することを望む唯一のことは、ファイルアップロードプロバイダーを使用する方法です.
Azureインストール要件
目次
必要資源
Apaureには3つのリソースがあります.AppService strapi WebアプリケーションをホストするにはStorage イメージ/アップロードされた資産とデータベースを保存するために、AzureはMySQLとPostgresを選択するように管理しました.
Azureポータル経由でリソースを作成する
この節では、Azureポータルを使用して、strapiをホストするために必要なリソースを作成します.
my-strapi-app
, 領域を選択するWebアプリの検索
- _Name_ - `my-strapi-app`
- _Publish_ - `Code`
- _Runtime stack_ - `Node 14 LTS`
- _Operating System_ - `Linux`
- _Region_ - Select an appropriate region
- _Name_ - `my-strapi-app`
- _Region_ - Select an appropriate region
- _Performance_ - `Standard`
- _Redundancy_ - Select the appropriate level of redundancy for your files
- _Name_ - `my-strapi-db`
- _Data source_ - `None` (unless you're wanting to import from a backup)
- _Location_ - Select an appropriate region
- _Version_ - `5.7`
- _Compute + storage_ - Select an appropriate scale for your requirements (Basic is adequate for many Strapi workloads)
リソースの設定
すべてのリソースが作成されると、MySQLとストレージアカウントのWebアプリケーションへの接続情報を取得するだけでなく、使用するリソースを設定する必要があります.
ストレージアカウントの設定
strapi-uploads
, に設定し、Blob
, をクリックしますMySQLの設定
Allow access to Azure services
to Yes
をクリックしますmysql
CLI :- `mysql --host <server> --user <username> -p`
CREATE DATABASE strapi;
それから雲シェルを閉じるAzure CLIを介してリソースを作成する
このセクションでは、Azure CLI 必要なリソースを作成します.これは、AzureのCLIとどのように適切な値を見つける方法に精通していると仮定します.
新しいリソースグループを作成する
rgName=my-strapi-app
location=westus
az group create --name $rgName --location $location
新しいLinuxアプリサービスプランを作成
number-of-workers
and sku
あなたのスケールの要件を満たすために)appPlanName=strapi-app-service-plan
az appservice plan create --resource-group $rgName --name $appPlanName --is-linux --number-of-workers 4 --sku S1 --location $location
ノードを実行しているWebアプリケーションを作成します.JS 14
webAppName=my-strapi-app
az webapp create --resource-group $rgName --name $webAppName --plan $appPlanName --runtime "node|10.14"
ストレージアカウントの作成
saName=mystrapiapp
az storage account create --resource-group $rgName --name $saName --location $location
# Get the access key
saKey=$(az storage account keys list --account-name $saName --query "[?keyName=='key1'].value" --output tsv)
# Add a container to the storage account
container=strapi-uploads
az storage container create --name $container --public-access blob --access-key $saKey --account-name $saName
MySQLデータベースの作成
serverName=my-strapi-db
dbName=strapi
username=strapi
password=...
# Create the server
az mysql server create --resource-group $rgName --name $serverName --location $location --admin-user $username --admin-password $password --version 5.7 --sku-name B_Gen5_1
# Create the database
az mysql db create --resource-group $rgName --name $dbName --server-name $serverName
# Allow Azure resources through the firewall
az mysql server firewall-rule create --resource-group $rgName --server-name $serverName --name AllowAllAzureIps --start-ip-range 0.0.0.0 --end-ip-range 0.0.0.0
Webアプリケーションに設定値を追加する
az webapp config appsettings set --resource-group $rgName --name $webAppName --setting STORAGE_ACCOUNT=$saName
az webapp config appsettings set --resource-group $rgName --name $webAppName --setting STORAGE_ACCOUNT_KEY=$saKey
az webapp config appsettings set --resource-group $rgName --name $webAppName --setting STORAGE_ACCOUNT_CONTAINER=$container
az webapp config appsettings set --resource-group $rgName --name $webAppName --setting DATABASE_HOST=$serverName.mysql.database.azure.com
az webapp config appsettings set --resource-group $rgName --name $webAppName --setting DATABASE_USERNAME=$username@$serverName
az webapp config appsettings set --resource-group $rgName --name $webAppName --setting DATABASE_PASSWORD=$password
Azureリソースマネージャーテンプレートの配備
Azureリソースマネージャーテンプレートを使用して展開するには、以下のBottonを使用しますthis template Azureのカスタム展開として.
ファイルとイメージの保存
AppServiceがPaaSホスティングモデルであるので、アップロードプロバイダーはアップロードされた資産をAzure Storageに保存することを要求されます.チェックアウトhttps://github.com/jakeFeldman/strapi-provider-upload-azure-storage アップロードプロバイダーとしてAzureストレージを使用する詳細については.
地方開発
ローカル開発の場合は、標準のstrapiファイル/イメージアップロードプロバイダー(ローカルディスクに格納されている)を使用することもできますAzurite emulator .
strapiの配備と実行
Azure AppServiceは、CI/CDパイプラインを使用するか、またはFTPS経由で展開することができますAzure docs あなたの好みの方法のためにこれをする方法.
ノードを開始します.アプリケーションは、AppService
npm start
コマンド.シンボリックリンクが作成した保証がないのでnpm install
( Ci/CDパイプラインからのアップロードの場合)保存されましたnpm start
コマンドは直接キーポイントエントリポイントを参照します."scripts": {
"start": "node node_modules/strapi/bin/strapi.js start"
}
結論
これは、AzureのさまざまなPAA機能をホストのstrapiに使用する方法と、これらのリソースを設定できるさまざまな方法を見ることができました.私はリソースマネージャテンプレートを自分で使用し、将来の展開がスムーズに起こるように、GithubアクションをCI/CDパイプラインとして設定することを好みます.
うまくいけば、これはまた、あなたがAzureで実行しているあなたのstrapiサイトを得ることをより簡単にします、そして、一旦strapi 4が出ているならば、私はAzureでホストをつとめているとき、あなたが意識する必要がある違いに関するいくつかの更新された内容を得ます.
Reference
この問題について(Azureの上のホストstrapi 3), 我々は、より多くの情報をここで見つけました https://dev.to/azure/host-strapi-3-on-azure-5edpテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol