Conoha VPSにNext.jsで作ったサイトをデプロイする方法
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