Photo by Tandem X Visuals / Unsplash

またブログを刷新した

2025年1月26日

ブログを破壊し、また創造するのが趣味です。

今回の構成

  • ドメイン:Route53
    • AレコードでさくらのVPSを指してる
  • サーバー:さくらのVPS
    • 1Gプラン(1 vCPU / 1GB RAM / 50GB SSD)
    • プロモーション込で年額8,833円
  • OS:Ubuntu 24.04 amd64
  • ミドルウェア:
    • nginx 1.24.0
    • mysql 8.0.40
  • アプリ:Ghost 5.107.2
  • ブログテーマ:Liebling

料金

900円/月くらい?
VPSのプラン料金そのままぐらいです。

やったこと

VPS建立

さくらのVPSを契約した。それだけ。
Ubuntu 24だとメモリ512MBは選べず最安の1Gプラン。

ドメイン設定

VPSのIPをAレコードで指す。
IPはVPSのダッシュボードに書いてあるからRoute53のマネコンでポチポチするだけ。
一応その後逆引きDNSの設定をVPSの設定画面からやった。

しかしIPは任意のさくらが持ってるIPでいいからドメインのCNAMEで指すことで安くなったりしないだろうか…とは思う。

アプリケーション構築

ドキュメントの通り。
mysql入れて、node入れて、ghost-cliを使ってセットアップ…という話だったので従う。

このCLIが優秀でもう基本的に上記のドキュメントの通りで構築が完了する。
Let's Encryptから証明書発行もやってくれる。すげーな。
SSL設定周りをやる前にドメインの設定をやっておかないとエラーになるが、 ghost setup ssl で後追い設定可能。

ブログ記事移行とかデザインとか

もともとブログをMarkdownで書いてたのと記事数が全然なかったことにより、手で移動することにした。
WYSIWYGエディタがMarkdownを解釈してくれるので貼ってほぼ終わり。
画像は手でちまちまと移行。

デザイン周りは公式テーマ集とか野良テーマとかをググって見つけてきた。
大抵のテーマはスマホデザインでハンバーガーメニューがやっつけなので、ここがきれいなデザインは少ない。
LieblingMassivelyはそのへんがちゃんとしてた。
なお、どちらのテーマもzipアップロードでインストールしたら一部featureが使えない旨のエラーが出た。
まあ困ったら考えよう。

調整したこと

  • MySQLの初期設定だと結構すぐに1GB RAMの半分くらいを食うようになった。
    ので、この辺のサイトを参考にして調整してまあ30%くらいに抑え込む。
  • それでもなんか画像のアップロード/ダウンロードでnode(ghostプロセス)のメモリがじわじわ肥大化する。
    Rails&Pumaといい、このへんはどうしようもないのかな。
    管理画面からいっぱい画像操作とかするとSWAPが発生してサーバーが耐えられなくなる。
    ダウンロード側は画像の配信をnginxにやらせるとかCDNからばらまくとか考えられるけど、nginxの設定がうまくいかなかったので一旦諦め。
  • mysqlのログローテーションがエラーを吐くので調整。ついでに30世代保持にする。
/var/log/mysql.log /var/log/mysql/*log {
	rotate 30 # 変更
    ...
	su mysql adm # 追加
    ...
}
  • nginxのログローテーションを30世代にする。
  • ghostのログローテーションは独自実装らしいが手を付けるのが面倒だったのでとりあえずディスク溢れを防ぐ目的でlogrotateの設定を作る。
    空振りしてもまあいいや。
/var/www/*/content/logs/*.log {
        daily
        maxsize 400M
        missingok
        rotate 30
        compress
        delaycompress
        notifempty
        su ghost ghost
}
  • 前述の通りサーバーが死にそうだからghostのプロセス(systemdでサービス化されてる)をsystemd timerで再起動するようにしておく。

そのうちやりたいこと

  • 画像はnginxかCDNから撒く
  • 画像のgzip圧縮。なんでこれうまくいかないんだろうな。
  • もっと安いホスティング方法を考える

いいと思ってるところ

管理画面の操作感がいい。
この辺に機能があるだろうな〜がそんなに外れない。

WYSIWYGエディタが使いやすい。
まあやっぱWYSIWYGですわ!Markdownで書くのは無理無理!!
noteみたいな書き心地でnoteよりも動作が機敏だと思う。

デザインが選べる割にはそんなに悩まないでいい。
カスタマイズの幅が広くなくて悩まないけど、noteほど画一的にはならない。

セルフホスティングなので盆栽的に楽しい。

締め

2025年こそはブログ書くぞ〜。
子どもがもう2歳になっていて、まじで記録を残さないとすべてを忘れてしまうという危機感とともに生きている。

深堀 哲史 / TETSUSHI Fukabori

深堀哲史(TETSUSHI Fukabori) 1986年生まれ。 A Software Engineer. 写真撮影、コーヒー、登山、愛犬と遊ぶこと、家族が好き。