Docker上でリバースプロキシを用いてサブドメイン毎にアプリケーション構築

更新:2021/05/07 作成:2021/04/09

ConohaVPS docker docker-compose Laravel nginx-proxy

概要

手軽に自身のブログやポートフォリオの作成、新しいWeb技術の検証環境を作りたいと思いました。
そのために、ローカルでの開発環境と本番環境で環境を一貫させるためにDocker、拡張性のあるVPS、サブドメイン毎にアプリケーションを割りあてるリバースプロキシを用いてシステムを構築してみたので紹介します。

Gihtubリポジトリ

toutounode(このWebサイト)の構成イメージ

aboutconohaVPS.png

用途

  • リバースプロキシ
    • リクエストをサブドメイン毎に割り振る
    • SSL化の肩代わり
  • ポートフォリオ
    • 自己紹介、作品置き場にしたい
    • かっこいい感じにしたい
  • ブログ
    • 開発記録とか思ったこととかを適当に残したい。
    • ポートフォリオの方が途中なのでしばらくは自己紹介とか作品置き場はここに残します。
    • ブログアプリケーションの記事については別記事で紹介しようと思う。

主な使用技術・サービス

  • ConohaVPS

    • メモリ1G
    • サービスやアクセスが増えた際にスケールアップできる
      • 512MBプランは変更できない
  • Docker

    • ローカルでの開発環境と本番環境で環境を一貫させたい
    • アプリケーションサーバー構築の簡略化
  • docker-compose

    • 複数のdockerコンテナを定義し実行するツール
    • yamlファイルを使ってサービスの設定を行う
    • 開発環境、本番環境で環境変数を切り替えたりしやすい
  • nginx-proxy

    • リバースプロキシ
      • サーバー側にあるプロキシ
      • 不特定多数のクライアントに対しての応答を肩代わりすることでアプリケーションサーバーの負担を軽減する
      • SSL化の処理を肩代わりする
      • 静的コンテンツのキャッシュサーバーとして利用できる
  • laravel

    • php製の便利なWebアプリケーションフレームワーク
    • MVCアプリケーションが作成しやすいし、拡張性もある。
  • mavon-editor

    • Vue製のmarkdown editor
    • 数式入力
    • 画像アップロードクライアント
    • ブログの記事はこれで書いています。

コードとかはここです。

その他

既存の技術系ブログではなく、個人運営のブログをすすめようと思ったのは、インターネット上のtoutouとして活動していく場が欲しかったから。