0

ユーザーが自分のウェブサイトを介してアップロードしたすべての画像を保存する別の amazon ec2 インスタンスをセットアップしたいと考えています。この専用サーバーから画像を表示できるようにしたいです。このサーバーを指す DNS 名を設定する方法を知っています。しかし、ディレクトリを設定する方法を知りたいです。たとえば、画像の URL をhttp://images.mydomain.com/images/sample.jpgとして参照する場合、

images.mydomain.com はサーバー名で、

images はフォルダ名にする必要があります

今問題は、画像を提供するものであるこのサーバーでWebサーバーを実行する必要があるか、それとも画像フォルダーを公開して全世界に表示できるかということです? ディレクトリのリストを回避するにはどうすればよいですか?

ドキュメントへのポインタは大歓迎です。

4

3 に答える 3

1

画像を提供するために個別のEC2インスタンスを設定することは確かに可能です。これを行うのには十分な理由があります。たとえば、プログラムロジックによって厳密に制御される方法で、特定のユーザーまたはユーザーのグループのみに特定の画像へのアクセスを許可したい場合があります。

OTOH、HTML / Webコンテンツを提供するサーバーから画像/メディアファイルへのアクセスをセグメント化することだけを検討している場合は、これらのファイルをストレージ用に特別に調整されたサービスに移動することで、パフォーマンスとスケーラビリティが大幅に向上します。 Webアクセス。AmazonのS3(Simple Storage Service)は、比較的簡単なオプションの1つです。AmazonのCloudFrontコンテンツ配信ネットワーク(CDN)または競合するCDNは、さらに高いパフォーマンスオプションになります。

ファイルアクセスにCDNを使用すると、CDNの構成が複雑になりますが、プライマリWebサーバーからのメディアアクセスをセグメント化する際に問題が発生し、I / Oの負荷が大きくなることが予想される場合は、それは、労力を費やした高収益のアプローチであることがわかりました。

于 2012-07-10T02:39:20.697 に答える
1

あなたが計画しているように、私は間違いなくこれを実装しません。すべての画像を A​​mazon S3 バケットに保存し、Amazon の CloudFront CDN 経由で提供する必要があります。Amazon がすでに行ったことを行うために、EC2 インスタンスをセットアップして維持するという面倒な作業を行う必要はありません。S3 は無限のストレージを提供し、パーミッション、メタデータなどを管理します。CloudFront は画像への高速アクセスを提供し、世界中のエッジ ロケーションにキャッシュします。さらに、Amazon Route 53 (またはその他の DNS サービス) を使用して、さまざまな CNAME を CloudFront ディストリビューションに向けることができます。

このアプローチに興味がある場合は、これを設定する方法に関する詳細情報を提供させていただきます。

于 2012-07-10T19:07:04.727 に答える
0

はい、間違いなくマシン上で Web サーバーを実行する必要があります。そうしないと、クライアントが http/ポート 80 経由で接続してブラウザで画像を表示することができなくなります。これは、ディレクトリ リストが有効になっていることとは関係ありません。Web サーバーを実行したら、その構成でディレクトリ リストを無効にすることができます。

サーバーに apache をインストールして実行します ( http://httpd.apache.org/docs/2.0/install.html )。次に、その構成で「サイト」と呼ばれるものをセットアップします。これは、サーバーのベースディレクトリとなるローカルディレクトリを指しています。たとえば、Unix システムでは /home/apache になります。そこで、画像フォルダーを作成します。Apache が正しく設定されていれば、 http://images.mydomain.com/images/sample.jpgから画像にアクセスできます。

于 2012-07-10T01:38:17.047 に答える