本ブログをVPSに引っ越しする
2021-11-28
ISUCONを経て、サーバを生で運用する経験が欲しくなったのでConoha VPSに移行してみる。
Intro
- FirebaseにホスティングしているこのページをConoha VPSに引っ越す。
VPSを提供業者の選択
- AWS LightSailもありかと思ったが料金が少し高そうだったので有名どころのさくらかConohaで選ぶ
- Conohaのほうがイメージのバックアップが強そうだったのでConoha使ってみる
Conoha VPSのサーバ
- なるべく安く済ませたかったが、無難にメモリ2GBのサーバを選択
- 後から気付いたがVPSではなくWINGというやつを選んでもよかったかも
React SPAのビルド
- ビルド済みの成果物をアップロードする方法でもよかったが、面倒だったので
git cloneしてビルドする方法に
Node.jsのインストール
nginxの設定
/etc/nginx/sites-available/default を書き換えた。
# appの配置場所
root /home/blog/blog/frontend/build;
# 後述のTLS対応のため
server_name 92thunder.dev;
# SPAなので /about など任意のページにアクセスがきても404にならないように
location / {
try_files $uri /index.html
}
この時点で http://92thunder.dev にアクセスしても https に飛ばされて動かないなーと悩んでたけど devドメインだからHSTSのヘッダーが強制されてしまうからだった。
HTTPS化対応
CertbotがLet’s Encryptをよしなにインストールしてくれるらしい
nginxの設定ファイル見たら勝手に書いてくれてた。すんごい。
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/92thunder.dev/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/92thunder.dev/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
無事に https://92thunder.dev に設定された!
Outro
- やろうと思って何ヵ月も放置したけどやってみると簡単にサーバにデプロイできた。
- DigitalOcean先生が日本語でも読めるドキュメント残してくれてて最高に助かった。救われる人多いはず。
- 引き続きバックエンドAPIやDBも脱Firabaseする。