S3・CloudFront
S3とは
AWSの中核にあるストレージサービス。
ストレージとは
訳すと貯蔵、保管。
データを保管・保存する場所のこと。
ストレージサービスとは
インターネット上で、ファイル保管用のスペースにデータを保存することができるサービス。
インターネット上にデータを保存できる場所があるってことですかね?
CloudFront
AWSが提供する高速・高パフォーマンスなコンテンツ配信サービス。
CloudFrontの仕組み
オリジンサーバ:配信するオリジナルのファイルを置いておくサーバ。
エッジサーバ:ユーザーへの配信を行うサーバ。
ユーザーをCloudFrontドメインへアクセスさせて、CloudFrontのエッジサーバを経由した配信を行えるようになる。
ユーザーからリクエストを受けたエッジサーバーは、要求されたファイルがキャッシュされているか確認する。
キャッシュされてない
→オリジンサーバからファイルをとって、そのファイルをユーザーに配信する。
ファイルをキャッシュする。
キャッシュされている
→オリジンサーバには見に行かず、エッジサーバでキャッシュされたファイルを配信する。
Apache・nginx
Apache
webサーバーのソフト。
コンピュータにApacheを入れると、そのコンピュータがwebサーバーをしての仕事ができるようになる。
webサーバー
webサーバーとは、ブラウザからページを調べた時に、そのページの情報を返してくれるサーバーのことを指す。
ただ、webサーバーは、本来はただのコンピュータのため、私たちがいつも使っているパソコンと変わらない。
普通のコンピュータにApacheやnginxなどのwebサーバーソフトを入れることによって、webサーバとなる。
nginx
エンジンエックス。
webサーバの一つ。
Apacheは大量の処理ができないため、大量のアクセスを処理できるようなwebサーバが欲しくて作られた。
シンプルな作りになっているため、自分で処理せずに他に割り振ることで、メモリ消費が比較的少ない。
ローカル環境構築でのつまづき
コンテナ起動でつまづく
docker-compose -f ./local-docker-compose.yml up -d
で起動させようとすると、
ERROR: for proxy Cannot start service proxy: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:359: container init caused \"rootfs_linux.go:54: mounting \\\"/Users/proxy/nginx.conf\\\" to rootfs \\\"/mnt/sda1/var/lib/docker/aufs/mnt/\\\" at \\\"/mnt/sda1/var/lib/docker/aufs/mnt//etc/nginx/nginx.conf\\\" caused \\\"not a directory\\\"\"" : Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
proxyにエラーがでて起動しない。
解決
一旦マシーンを止める。
docker-machine stop default
もう一回マシーンを起動。
docker-machine start default
再チャレ。
docker-compose -f ./local-docker-compose.yml up -d
動いた。
もともと違うコンテナを起動してたから?
でもそのあとにそのコンテナを起動させたら動いた。んん?
リモートVMに接続できない
docker logs -f zo-intern
からのデバッグをしようとすると、Failed to connect to remote VM.
あぁ。
あれやこれや試したもののわからず、次の日にもう一回やったらなんかエラー出なくなったから接続できたっぽい。
あるある。
アクセスしようとするとエラー
500エラー。
Tableが存在しないとのこと。
もう一回ダンプを流し込んだらできた。
オフセットとは
オフセットとは
基準点からの距離で位置を表現したもの。
基準点からどのくらいズレているかを表したもの。
ページングのオフセット
offset = 1ページあたりの件数 ×(現在のページ - 1)