Linuxでも実行できる .NET Core 、いいですよね。
これが無ければブログを始めようと思わなかったと思います。

当サイトの構成

サイト構成図

  • Ubuntu上のDockerで各コンテナ実行
  • Dockerコンテナは4つ
  • ブログAppサーバーは2021/12/14現在、ASP.NET Core 6.0で構築。詳しくはこちらの記事をご覧ください。
  • DBサーバーはPostgreSQL
  • 記事管理サーバー。Giraffe(F#)で構築
  • https-portalというDockerコンテナ
    • nginx(リバースプロキシ)
    • Let's Encrypt(https接続)
  • Azure Blob Storageに画像を格納
  • 自作VSCode拡張機能で記事執筆&投稿
  • Azure DevOpsでCI/CDを行っている

といった感じになります。
仕事で C# 1 は使ってましたが、それ以外はこのブログのために全てネットで調査・学習しました。
各要素については改めてご紹介出来ればいいなと思います。

冒頭で、「Linuxで実行できる.NET Core」と書きましたが、私自身はLinuxについてほとんど知識がありません。それでもLinuxがいいなと思う理由はVPSのランニングコストです。

Windowsを実行できるVPSもいくつかありますが、月額費用がLinuxのほぼ倍になってしまいます。Azure 等のクラウドサービスはVPSに比べたら決して安くはありません。

.NET Coreが出る前はコスト的に躊躇せざるを得ませんでした。

ASP.NET Coreでブログを構築する際に参考にした記事

Webサイトを構築するにあたり、参考にした記事はたくさんありますが、骨子となったのは以下の記事です(いずれも英語の記事です)。

Building a Blog Using ASP.NET Core - DotNetSwede
タイトルの通り、ASP.NET Coreでブログを構築する方法を掲載した記事へのリンク集となっています。この記事のリンク先をいくつか読ませていただきました。

Shawn Wildermuth's Blog
「Open Live Writerによる記事執筆」や「Azure Blob Storageに画像を格納する」という仕様はとても参考になりました。

Thoughts from the Wet Coast
XML-RPCのASP.NET Coreでの実装の仕方はとても参考になりました。

無料のブログサービスやWordPressなどのCMSを使わず、一から構築しようという奇特な方はそうそういらっしゃらないでしょうけど、何かの参考になれば幸いです。


  1. 最近は趣味としてはF#を使っていくつもりでいます。仕事とは別の言語にしたい。