見出し画像

The Web Developer Bootcamp 2023 セクション59/61

はじめに
このブログ記事では、Node.jsアプリケーションをローカル環境から本番環境へデプロイするプロセスを探ります。ここでは、MongoDB Atlasを使用して本番用データベースをセットアップし、MongoDBにセッション情報を保存して、Herokuにアプリケーションをデプロイします。

本番用データベースのセットアップ
まず、MongoDB Atlasを使用して本番用データベースをセットアップする必要があります。MongoDB Atlasは、どこからでもアクセスできるデータベースを作成・管理できるクラウドデータベースサービスです。https://www.mongodb.com/cloud で無料アカウントを作成することができます。

アカウントを作成したら、クラスタの作成、データベースユーザーの追加、IPアドレスのホワイトリスト登録が必要です。これらのステップを完了すると、接続 URL が発行されるので、これをアプリケーションの .env ファイルに追加します。

コード内でデータベースに接続するには、次のように接続 URL を参照する変数を作成します:
const dbUrl = process.env.DB_URL || 'mongodb://localhost:27017/yelp-camp';

MongoDBにセッション情報を保存する
Express Sessionのデフォルトのメモリストアを使用する代わりに、MongoDBを使用してセッション情報を保存することにします。これは、よりパフォーマンスとスケーラビリティに優れています。これを行うには、Connect Mongoをインストールしてrequireし、新しいストア変数を作成します:
const MongoDBStore = require("connect-mongo")(session);

次に、URLを指定してストアを設定し、不要な再保存を制限するために touch after オプションを指定します:
const store = new MongoDBStore({ url: dbUrl, secret, touchAfter: 24 * 60 * 60 });

Herokuのセットアップ
Herokuは、アプリケーションをホスティングして提供するためのプラットフォームです。まず、https://jp.heroku.com/home で Heroku アカウントを作成し、Heroku CLI コマンドラインインターフェイスと Git をインストールします。コマンドラインクライアントを使用してHerokuにログインします。

Herokuでアプリをデプロイする
Herokuにアプリをデプロイするには、Heroku Createコマンドを実行します。これにより、Heroku上に新しいアプリが作成されます。次に、アプリのコードに変更を加え、node_modulesディレクトリと.envファイルを無視するための.gitignoreファイルを作成し、変更をコミットします。git push Heroku masterコマンドでコードをHerokuにプッシュします。

デプロイメントエラーに関するトラブルシューティング
デプロイ中にエラーが発生した場合は、Heroku logsコマンドを使用してサーバーログを表示し、問題のトラブルシューティングを行うことができます。パッケージのJSONファイルにスタートスクリプトを追加し、使用するポートを指定することを確認してください。

Herokuの環境変数を設定する
Herokuアプリの環境変数を設定するには、Herokuダッシュボードから、またはコマンドラインからHeroku config colon setを使用して行うことができます。また、アプリがデータベースにアクセスするために、AtlasでIPアドレスをホワイトリストに登録する必要がある場合もあります。

まとめ
このブログ記事では、MongoDB AtlasとHerokuを使ってNode.jsアプリをデプロイする手順について説明しました。この手順を実行することで、どこからでもアクセスできるスケーラブルでパフォーマンスの高いアプリケーションを作成することができます。サーバーのログを確認し、必要に応じてエラーのトラブルシューティングを行い、環境変数が適切に設定されていることを確認することを忘れないでください。

次のページへ

前のページへ

まとめページへ

「超勇敢なウサギ」へ

この記事が気に入ったらサポートをしてみませんか?