Webアプリを公開するために知っておきたかったこと
初めてWebアプリを作り、リリース作業を行なっている最中です。
リリースにあたり問題が出たり、最初から知ってたら別対応できたりと思うところがあるので記録します。
以下にリリース前に知りたかったことをリスト化します。
- 共有サーバーでは静的ファイルしか動かない
- VPSを使うときはOSにも注意
- GitHub連携できる方が便利
- ドメイン取得後は反映に時間がかかる
- .envは開発用と本番用を作ると便利
- ConohaVPS & お名前.comが安かった
共有サーバーでは静的ファイルしか動かない
今までブログしか触ったことがなかったので、Xserverで契約している共有サーバーでいいと思っていました。
しかし、GO言語を使ったり、API連携や動的にページを生成するとなると話は変わりいます。
VPSという自分専用の仮想サーバーを使うことが重要でした。
共有サーバーを使うと、サーバーを作っている会社が全部管理しているため、ブログみたいな静的ファイルしか置けないらしいです。
「自分でサーバーを作るのは正直面倒くさい・・・」と思っていましたが、Dockerで開発環境を作れるなら心配入りませんでした。
やってることはほとんど同じなので抵抗感なく環境を作れました。
自由度が上がる分、自分で決めることが増えるので決断力は必要ですね。
DBも自由
VPSにすると決めていたら、XserverにDBを合わせる必要がありませんでした。
MySQLにしたのは良いとしても、バージョンもXserverに合わせて5系を使っていました。
しかし、VPSにするならPostgreSQLにしたら良かったと思います。
今回はバージョンのみ8系にしてリリースすることにしました。
MySQLにしたおかげで、nginxの設定もすんなりできたのは不幸中の幸いでした。
VPSを使うときはOSも先に決める
開発時はMacを使い、VPSではUbuntuを使うことにしました。
「Ubuntuの方が多くのユーザーが使っているからおすすめ」とGPT先生に言われたので使うことにしました。
ここで問題になったのが、WebP変換です。
PNGやJPEG画像をWebPに変換するとき、Macで使えるものとUbuntuで使えるものが違いました。
そのため、ビルドするときエラーが出て修正を余儀なくされました。
事前に使うOSまで決めてコードを書くのが大切だなと痛感してます。
GitHub連携が便利
本番でソース反映するときは、GitHub連携がとても便利です。
git pull origin main
と開発と同じようにpullするだけでいいので便利でした。
GitHub連携しないと、毎回SSHで接続してソースを上げ直さなくてはならないのでストレスでした。
GitHub連携することで不要なファイルを.gitignoreで排除できるのでとても便利です。
ドメイン取得後は反映に時間がかかる
ドメインを取得したら、DNSというのに反映させなければなりません。
DNSとは、IPアドレスとドメインを結びつける仕組みのことです。
夜に紐付けを行って、次の日の朝になってもまだ反映されません。
リリースの1番最初にやっておくとよかったです。
VPSを契約するとIPが割り当てられるのでその後すぐ、ドメインを取得し、DNS設定するのがおすすめです。
DNSの設定が完了したら、HTTPSの対応やAPIを実際に使ってみるなどがドメインを使ってできます。
反映待ちの間にドキュメント整理などができると思えばギリ耐えれます。
60時間後くらいに反映
具体的な原因は特定できてませんが、再度DNS設定を行うと反映されました。
Aレコードは問題なくできてましたが、NSレコードが正しく設定されてなかったようです。
一度設定して、24時間以上反応がないときは再度設定してみると反映されるかもしれません。
.envは開発用と本番用を作ると便利
今まで.envしか作ってませんでしたが、.env.production(本番用)や.env.local(開発用)を作っておくと便利でした。
GitHub連携を行うとき、envファイルはpushしないと思うので手動で連携が必要です。
そんなとき、開発用と本番用があればスムーズに連携できるのでおすすめです。
内容を変えれば済むので本番用の.envを作っておくことをお勧めします。
ConohaVPS & お名前.comが安かった
ずっとXserverしか知りませんでしたが、今回はVPSを使うということで検討しました。
AWSやRenderなどの従量課金サービスか、XserverVPSやConohaVPSなどの月額サービスか迷いました。
結果は、従量課金は無料枠があるものの、上限が決まっていないため最初は月額サービスを利用することにしてます。
WordPressを使っていたときは、12ヶ月で1万くらい+ドメイン代でしたが、ConohaVPS(1GB,2Core)のプランは12ヶ月で7千円くらいなのでお得でした。
プランは2番目に低いので実際の運用にどれだけ影響するかは分かりません。
しばらく使ってみて様子みようと思います。
Discussion