ローカル マシンに次のフォルダー構造の PHP プロジェクトがあります。
assets/
|- css/
|- ...
|- js/
|- ...
dynamic/
|- scripts/ *contains a bunch of .php files
計画は、assets/
ディレクトリを Amazon S3 (CloudFront CDN で使用するため)s3cmd
にプッシュし、dynamic/
ファイルを Amazon EC2 インスタンス (ウェブサーバー) に直接プッシュすることでした。
以下で使用している基本スクリプト:
[プッシュ.sh]
#!/bin/bash
# Source our program variables
. ./_global.sh
# Setup the build directory
echo "======== Preparing the build directory =============="
node build/r.js -o build/build.js
# Start up the rsync to push the dynamic files
echo "==== Syncing dynamic files with the EC2 instance ===="
rsync -rvzh --progress --delete --exclude-from "${BUILD_DIR}exclude-list.txt" \
-e "ssh -i ${BUILD_DIR}mykey.pem" \
$WWW_BUILT_DIR ubuntu@$SERVER_IP:$SERVER_DIR
# Push the static assets up to S3
echo "========== Pushing static assets to the S3 ========="
s3cmd sync --delete-removed --exclude-from "${BUILD_DIR}exclude-list.txt" \
${WWW_DIR}${ASSETS} s3://mybucketname/${ASSETS}
echo "All done :)"
EC2 Web サーバーにプッシュされたファイルのアクセス許可が、コマンド ( )で構成されたユーザーにすべて設定されていることを除いて、すべてが完全に機能します。これを代わりに使用するように設定するにはどうすればよいですか?ssh
ubuntu
:www-data