私はAPIを弾力のあるbeanstalkに配備しています。インスタンスが起動されるたびに、特定のフォルダ "temp_storage"が必要になります。これは、S3バケットにアップロードする前にサイズを変更しながらイメージを保存するので、書き込みアクセス権が必要です。私はまた、いくつかの作曲家プログラムをインストールする必要があります。AWS - Elastic Beanstalkのインストールコマンド
:私のセットアップは
fd-api/
composer.json (These need to be installed)
temp_storage/ (This folder needs write access)
.ebextensions/
temp-folders.config
一時-folders.config
container_commands:
chown_folder:
command: "chown -R webapp /var/www/html/fd-api/temp_storage"
chmod_folder:
command: "chmod 777 /var/www/html/fd-api/temp_storage"
これは、それがどのように動作するかをの私の理解ですが、私はこれを実行しようとすると、私はエラーが出ています
インスタンスID(i-03f5ed1eb55f52d17)でコマンドが正しく実行されませんでした。操作を中止します。
アプリケーションを配備できませんでした。
中止された展開中に、一部のインスタンスが新しいアプリケーションバージョンを展開している可能性があります。すべてのインスタンスで同じバージョンが実行されていることを確認するには、適切なアプリケーションバージョンを再デプロイします。
これはどこでデバッグを開始するのかわかりません。読んで私の理解は、弾力のあるbeanstalkインスタンスが生成され、.ebextension/something.configファイルのコマンドが実行されるたびに、コンポーザファイルが自動的に実行されることです。
ユーザーwebappは本当にわかりません。弾力のあるbeanstalkインスタンスのデフォルトユーザーであると仮定します。
ご協力いただければ幸いです。
/var/log/eb-activity.logがあなたのインスタンス場所にログファイルをある私の問題を解決することになりましたログを見ることができます。 – Zohaib
あなたのコマンドが実行されているとき、 'temp_storage'フォルダが存在しないと思います。 ElasticBeanstalkは最初にすべてのファイルをステージング場所に抽出し、すべてのデプロイメントフック( 'container_commands 'など)が実行された後にそれらを場所に移動します。 @ Zohaibは言ったように、 '/ var/log/eb-activity.log'は何が起こっているかを正確に伝えるべきです。また、 'webapp'はあなたのアプリケーションを実行するユーザです。 – Brian
@Brianだからあなたはコマンドを実際にディレクトリを作成して、新しく作成したフォルダにアクセス許可を設定する必要があると思いますか? – hunijkah