1

画像をアップロードするとき、PHP は一時画像をサーバーのローカルに保存します。

この一時的な場所を変更して、ローカル サーバーから切り離すことはできますか。

理由: スティッキー セッションを使用せずに負荷分散を使用しており、ファイルを 1 つのサーバーにアップロードした後、別のサーバーで使用できないようにしたくありません。注: 必ずしもファイルのアップロードを完了して、一度にファイルで作業するわけではありません。

望ましい一時的な場所は AWS S3 です。また、これが可能かどうかを知りたいだけです。

それが不可能な場合は、ファイルのアップロードを完全なプロセスにして、完成したファイルを最終的な場所に配置することもできます。

PHP 一時イメージ/ファイルの場所がローカル サーバーから離れている可能性があるかどうかを知りたいだけですか?

ありがとうございました

4

2 に答える 2

1

すべてのアップロードがアプリケーション サーバー間で共有されるように、ELB の下にあるインスタンスにs3fsを使用してS3 バケットをマウントできます。/tmp については、宛先が S3 であり、共有されているため、触れないでください。心配する必要はありません。

アップロードが多い場合は、S3 がボトルネックになる可能性があります。この場合、NASをセットアップすることをお勧めします。個人的には、拡張性が高く、セットアップが非常に簡単なGlusterFSを使用しています。レプリケーションの問題がありますが、レプリケートされたボリュームをまったく使用しない可能性があり、問題ありません。

別の代替手段は、 CephSector/SphereXtreemFSTahoe-LAFSPOHMELFS、および他の多くのものです...

于 2012-12-20T01:23:31.653 に答える
1

この投稿で詳しく説明されているように、いくつかの新しいテクノロジーを使用して、クライアントから S3 にファイルを直接アップロードできます。

http://www.ioncannon.net/programming/1539/direct-browser-uploading-amazon-s3-cors-fileapi-xhr2-and-signed-puts/

それ以外の場合は、個人的には、各サーバーのtmpフォルダーをまさにそのために使用することをお勧めします。つまり、一時ストレージです。ファイルがサーバーに配置された後は、いつでも S3 にアップロードできます。これにより、負荷分散されたすべてのサーバーからアクセスできるようになります。

于 2012-12-20T00:59:20.440 に答える