Conoha VPSにNext.jsで作ったサイトをデプロイする方法

NextJS

VPSを使おうと思ったきっかけ

Next.jsでStatic ExportsしてOUTディレクトリをさくらのレンタルサーバーライトプラン(月額165円)にアップロードしてた。

安くて非常にいいんだけど、Next/Imageによる画像最適化がつかえないとか、動的ルーティングができないから手動でLinkタグ書かないといけないとか、不便に感じることがいくつかあった。

やっぱし、Node.jsの入ったサーバーじゃないとダメだなと思ったが、Vercelは商用利用に月額20ドル払わんといけない。高杉。

そこで、Vercelよりも安く使えるVPS(月額1000円以下)に白羽の矢が立ったってわけ。

追記:GitHubは条件付きで容量無制限のストレージ

・git pushするときに容量100mb以上のファイルは(GitLFSを使ってgit pushしないと)エラーになる

・git push or git commitするときに1回のコミットが2GB以上だとエラーになる

上記2点を守れば、実質容量無制限のストレージとして利用可能。

ConohaVPSの初期設定

OS:Ubuntuを選択(どれにすればいいのかわからんがCentOSかUbuntuが有名みたい)

アプリケーション:Node.jsを選択(あらかじめNode.jsをインストールしておいてくれる)

メモリ:1GB(OSによって必要なメモリ容量がことなる。CentOSやUbuntuは1GB。ちなみにDebianは512MBで、KUSANAGIは 8GBも必要らしい)

CPU:選択できない。CPUに高負荷がかかったり、メモリ容量が不足すると、サイトの読み込み速度が低下したり、サーバーが停止(サーバーダウン)したりする。

rootパスワード:SSHログインするときに必要なパスワード。なんでもいい

ネームタグ:管理画面に表示される。なんでもいい、Nodejsとかでいいとおもう

ConohaVPSサーバーにSSHでアップロードする

ConohaVPSのコントロールパネルに「SSH Private Key」ボタンがあるからそこから秘密鍵をDLする。

sFTPツールであるTeraTermなどに秘密鍵を入力すれば暗号化された通信でConohaVPSサーバーと接続できる。

※FTPは通信が暗号化されてないので盗聴されるかもしれない。

通信を暗号化してセキュリティ強化したのがsFTP。

具体的なアップロード方法(https://support.conoha.jp/v/sftpfilezilla/

ConohaVPSにSSHでログイン

SSHとはTCP/IPネットワークを利用して暗号化された通信でサーバーにアクセスし、直接サーバー操作を行う通信技術のこと。SSHの代表的なアプリがコマンドライン。

SSHでログインする際はパスワード認証と公開鍵認証がある。

公開鍵認証は公開鍵と秘密鍵の2つが必要なため、パスワード認証よりも強固な認証と言える。

パスワード認証はVPSの追加時に設定したRootパスワードでVPSへ接続する。

具体的なログイン方法(https://support.conoha.jp/v/vps_ssh/

補足:NGINXについて

VPSにデプロイする際にNGINXを使用している記事を見かけた。

https://vps-one.site/node-js-conoha-vps/

NGINX=WEBサーバー。ApacheやIISもWEBサーバー。

PHPでローカル上にサイトをつくるときもMySQLとApacheを使っただろう。

ApacheはMySQLからデータをとってきたり、データをMySQLに送信するときに使うツールである。

だから、NGINXを使うと、データベースから情報をとってきたり、データベースに情報を送信したりできるのだ。

BACK