VPS: LinuxでNode.jsをセットアップ
はじめに
Node.jsはクロスプラットフォームのオープンソースJavaScriptランタイム環境で、ブラウザの外、例えばサーバーやコマンドラインツール上でJavaScriptコードを実行します。V8エンジンをベースにしており、非同期でイベント駆動型のI/Oをサポートするため、スケーラブルなネットワークやリアルタイムアプリの構築に非常に効率的です。
「JavaScriptをどこでも使う」パラダイムにより、開発者はバックエンドとフロントエンドの両方で同じ言語を使えます。
準備
Node.jsをセットアップする前に、システムの準備が必要です。これにはOSを最新バージョンにアップデートし、必要な依存関係をインストールすることが含まれます。これらの準備は安定した環境を保証し、インストール中やインストール後の問題を防ぎます。
システムのアップデート
システムが最新のソフトウェアとセキュリティ改善を備えていることを確認するため、まずはシステムアップデートを行いましょう。以下のコマンドを実行してください:
sudo apt update && sudo apt upgrade -y
これにより、最新のセキュリティパッチとソフトウェアバージョンが適用されます。
依存関係のインストール
アップデートが完了したら、依存関係のインストールに進みます。Node.jsは複数のDockerコンテナを使ってマシン上で展開・実行されるため、まずDockerをインストールする必要があります。以下のコマンドを実行してください:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
Dockerのインストール手順や使い方の詳細は、Dockerガイドで確認できます。
インストール
必要な準備が整ったので、Node.jsアプリケーションのインストールに進みましょう。
Node.jsを隔離された環境で使うには、まず公式のAlpineベースのイメージをダウンロードします。以下のコマンドで最新のNode.js 22イメージを取得し、コンテナ展開に使えるようにします:
docker pull node:22-alpine
次に、このイメージを使ってコンテナを起動し、その中でシェルセッションを開きます。インタラクティブなシェルでコンテナを起動するには以下のコマンドを使います。--rm
オプションは終了時にコンテナを自動削除し、ホスト環境をクリーンに保ちます。
docker run -it --rm --entrypoint sh node:22-alpine
コンテナ内でnode -v
を実行し、v22.19.0
が表示されればNode.jsのバージョンが確認できます。npm -v
で10.9.3
が表示されればnpmのバージョンも正しいことがわかります。これでイメージが正しいNode.jsとnpmのバージョンを提供していることが確認でき、すぐに使い始められます。
設定
Node.jsコンテナを起動したら、環境内で重要なNode.js設定を行うのがおすすめです。よくある方法は環境変数の定義です。例えば:
export NODE_ENV=production
これでプロダクションモードが有効になり、パフォーマンス最適化やログの挙動が調整されます。開発用にはNODE_ENV=development
に設定すると、詳細なエラーメッセージやデバッグ機能が使えます。
プロジェクトディレクトリはしっかり構成することが重要で、まずは以下のコマンドで設定ファイルを作成します:
npm init -y
これによりpackage.json
ファイルが生成され、依存関係やスクリプト、メタデータを定義できます。Node.jsアプリの中心的な設定ファイルです。
依存関係はnpm install <package>
でインストールし、開発用依存関係はnpm install <package> --save-dev
で追加します。package.json
内のscripts
セクションではnpm start
やnpm run build
などのカスタムコマンドを定義でき、実行やプロジェクト管理が楽になります。
さらに高度な設定では、.npmrc
や.nvmrc
ファイルを使ってプライベートレジストリの設定やキャッシュオプション、特定のNode.jsバージョンの強制などが可能です。これにより異なる環境間でも一貫した動作を保証できます。
まとめと追加リソース
おめでとうございます!これでVPSにNode.jsを無事インストール・設定できました。サーバー設定の際に役立つ以下のリソースもぜひチェックしてみてください。
- Node.js.com - 公式サイト
- https://Node.js.com/help/ - Node.jsヘルプセンター(ドキュメント)
ここにない具体的な質問があれば、いつでもサポートチームにお問い合わせください。毎日対応しているので気軽にどうぞ!🙂