目的
ポートフォリオを作成して、サーバー構築してデプロイを行いました。
サーバーの構築についての自分用の備忘録です。
また、モダンなサーバー構築の技術について調べました。
誰かの参考になれば幸いです。
目次
・インフラ構成図
・NGINXについて
・PUMAについて
・Dockerについて
インフラ構成図
NGINXについて
参考記事:ApacheとNginxを比較!
役割
①WEBサーバー
静的コンテンツはそのままレスポンス、動的コンテンツについてはapplicationサーバーへリクエストを送る
②リバースプロキシ
目的のサーバーに中継する
得られる恩恵
→ 表示速度が向上する!安定したサービス提供が行える!
①大量の同時接続数に耐える
①早い速度でコンテンツを提供
②負荷分散を行える
②セキュリティの向上
類似サービス
・Apache
類似サービスとの違い
①同時処理数の負荷に強い
②メモリの使用量が少ない
PUMAについて
役割
applicationサーバー
webサーバーから受け取ったHTTPリクエストをRailsなどのアプリケーションへ中継する。
Railsから静的コンテンツに変換されたものを受け取り、webサーバーへ返答する。
得られる恩恵
→ 表示速度が向上する!安定したサービス提供が行える!
→運用が楽になる!
・分散処理によるパフォーマンス向上
・メンテナンス、トラブルシュートが容易
・セキュリティの向上
類似サービス
・Unicorn
類似サービスとの違い
・マルチスレッドのため、処理速度が速い
Dockerについて(予備知識)
使用するOS(MACなど)上で仮想環境を構築し、上記で挙げたサーバーなどをコンテナの中のイメージとして扱える。
メリット
→円滑にチーム開発を行うことができる!
・コンテナ上で仮想環境を作成し、立ち上げると軽量で、速度が早い
・誰のパソコンでも平等な環境
・イメージなどを他へ配布しやすい
まとめ
目的とそれを使用すると受けられる恩恵などを調べることで、使用する経緯を理解することができました。