第7回HTML解説(上級編)Node.jsのインストール方法とウェブサーバの立て方
今回からは本当にjavascript系がメインです。 もはやタイトル詐欺ですね
Node.jsは、サーバサイドのJavaScriptを実行できるランタイムで、非同期処理や高いパフォーマンスを求められるリアルタイムアプリケーションに最適です。Node.jsを使用することで、JavaScriptをサーバサイドで実行し、シンプルで効率的なウェブサーバを構築することができます。今回は、Node.jsのインストール方法と、Node.jsを使って簡単なウェブサーバを立てる方法を解説します。
1. Node.jsのインストール方法
Node.jsをインストールするためには、まず公式サイトからインストーラをダウンロードします。
1.1 Node.jsの公式サイトからインストール
- 公式サイトにアクセス
Node.jsの公式サイト https://nodejs.org/ にアクセスします。 - インストーラを選択
「LTS(Long Term Support)」バージョンと「Current」バージョンの2つの選択肢があります。
安定性を重視する場合は「LTS」バージョンを選択してください。 - インストール
ダウンロードしたインストーラを実行し、画面の指示に従ってインストールを完了させます。
1.2 インストールの確認
インストールが完了したら、コマンドライン(Terminal)を開いて、以下のコマンドでNode.jsが正常にインストールされたか確認します。
node -v
このコマンドで、インストールされているNode.jsのバージョンが表示されるはずです。例えば、v16.14.0
のようなバージョン番号が表示されればインストールは成功です。
さらに、npm(Node Package Manager)のバージョンも確認します。
npm -v
これで、Node.jsのインストールとnpmのバージョン確認ができました。
2. Node.jsで簡単なウェブサーバを立てる
Node.jsは、標準ライブラリにHTTPモジュールが含まれているため、外部ライブラリを使わずにシンプルなウェブサーバを作成できます。まずは、最も基本的なHTTPサーバの作成方法を見ていきましょう。
2.1 HTTPサーバを作成
以下のコードは、Node.jsの標準モジュールであるhttp
を使って、非常にシンプルなウェブサーバを立てる方法です。
- 新しいプロジェクトフォルダを作成 プロジェクト用のフォルダを作成して、その中で作業を始めましょう。
mkdir my-node-server
cd my-node-server
- サーバコードの作成
server.js
というファイルを作成し、以下のコードを記述します。
const http = require('http'); // httpモジュールをインポート
// サーバーを作成
const server = http.createServer((req, res) => {
res.statusCode = 200; // HTTPステータスコード 200(成功)
res.setHeader('Content-Type', 'text/plain'); // レスポンスのヘッダーを設定
res.end('Hello, World!\n'); // レスポンスボディに「Hello, World!」を送信
});
// サーバーを指定のポートでリッスン
server.listen(3000, '127.0.0.1', () => {
console.log('Server running at http://127.0.0.1:3000/');
});
このコードは、HTTPリクエストを受けて「Hello, World!」というメッセージを返す簡単なウェブサーバを立てるものです。
- サーバを起動 次に、以下のコマンドを実行してサーバを起動します。
node server.js
コンソールに「Server running at http://127.0.0.1:3000/」と表示されれば、サーバが正常に起動しています。
- ブラウザで確認 お使いのブラウザを開いて、http://127.0.0.1:3000 にアクセスしてみてください。「Hello, World!」というメッセージが表示されれば成功です。
2.2 ポート番号を変更
上記のコードではサーバをポート3000で起動していますが、ポート番号を変更することも簡単です。例えば、ポート8000でサーバを起動したい場合、次のように変更します。
server.listen(8000, '127.0.0.1', () => {
console.log('Server running at http://127.0.0.1:8000/');
});
その後、ブラウザで http://127.0.0.1:8000 にアクセスしてみましょう。
2.3 リクエストに応じたレスポンスを返す
簡単なウェブサーバが立ち上がったので、今度はリクエストの内容に応じてレスポンスを変える方法を紹介します。例えば、/about
というパスにアクセスした場合、別のメッセージを返すようにします。
const http = require('http');
const server = http.createServer((req, res) => {
if (req.url === '/about') {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('This is the About page!');
} else {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello, World!');
}
});
server.listen(3000, '127.0.0.1', () => {
console.log('Server running at http://127.0.0.1:3000/');
});
このコードでは、/about
のパスにアクセスした場合に「This is the About page!」というメッセージを表示し、それ以外のパスには「Hello, World!」を表示します。
2.4 Expressを使ったウェブサーバの作成
Node.jsの標準モジュールだけでも十分にウェブサーバは作成できますが、より高度なルーティング機能やミドルウェアの管理を簡単に行いたい場合には、Express.js
というライブラリを使うことが一般的です。Expressを使うと、より簡潔で柔軟なサーバを構築することができます。
まずは、プロジェクト内でExpressをインストールします。
npm init -y // npmの初期設定
npm install express // Expressをインストール
次に、express
を使ったサーバコードを以下のように書きます。
const express = require('express');
const app = express();
// ルートパスにアクセスした場合
app.get('/', (req, res) => {
res.send('Hello, World!');
});
// /aboutパスにアクセスした場合
app.get('/about', (req, res) => {
res.send('This is the About page!');
});
// サーバを起動
app.listen(3000, () => {
console.log('Server running at http://127.0.0.1:3000/');
});
Expressを使うことで、ルーティングやレスポンス処理が非常に簡単に行えるようになります。
3. まとめ
Node.jsのインストールと基本的なウェブサーバの作成方法について解説しました。Node.jsを使えば、非常にシンプルで効率的にウェブサーバを立てることができます。さらに、Expressなどのフレームワークを使えば、より高度な機能を簡単に実装できます。これからNode.jsを使ったバックエンド開発を始めるには、まずは基本的なサーバ構築に挑戦してみましょう。
これで、Node.jsを使った基本的なウェブサーバの立て方をマスターしたことになります。次は、データベースとの連携や、APIの設計に挑戦してみてください。
この内容を元に、Node.jsを使ったさらなる学習を進めていくと、バックエンド開発のスキルがどんどん向上していくはずです!