Raspberry Pi でWebサーバを立てよう【Node.js】

はじめに

Raspberry Piは2013年にイギリスのRaspberry Pi財団がコンピューター教育向けに開発したマイコンボードです。

安価で小型にもかかわらず、パソコン並みの性能を持っており、python等のプログラムでセンサーの制御やカメラでの撮影など幅広い用途に使用できます。

今回はRaspberry PiにNode.jsを利用したWebサーバを立ち上げる方法を紹介したいと思います。

Raspberry Pi 4
Raspberry Pi 4

Node.jsとは

Node.js(ノード・ジェイエス) はV8 JavaScriptエンジン上に構築されたJavaScript実行環境の1つである。イベント化された入出力を扱うサーバサイドJavaScript環境であり、Webサーバなどのスケーラブルなネットワークプログラムの記述を意図している。ライアン・ダールによって2009年に作成され、ダールを雇用しているJoyentの支援により成長している。

出典:フリー百科事典『ウィキペディア(Wikipedia)』 Node.js

Node.jsの特徴は、

  • サーバ側の処理もjavascriptで書くことができる
  • ライブラリが豊富
  • 軽量なWebサーバーを構築できる

といったことが挙げられます。

事前準備

  • Raspberry Piのセットアップ(OSはRaspberry Pi OS)
  • インターネット接続環境

Node.jsとnpmをインストールする

初めに、Node.jsとnpm(Node Package Manager)をインストールします。

ターミナルで以下のコマンドを実行します。

sudo apt install -y nodejs npm

以下のコマンドでバージョンの確認ができます。

Node.js

node -v

npm

npm -v

aptでインストールされたバージョンは古い場合があるため、

新しいバージョンを入れる場合は以下を実行します。

  • node.jsとnpmの最新の長期安定版をインストール

以下のコマンドで「n」というNodeのバージョン管理を行うパッケージをインストールします。

sudo npm install n -g

以下のコマンドで、「n」を使用してNodeとnpmの長期安定版をインストールします。

sudo n lts

その後、以下のコマンドで最初にインストールした古いNodeとnpmを削除します。

sudo apt purge -y nodejs npm

上記コマンドを実行後、ターミナルを更新しないと変更が適用されないため、ターミナルを閉じて開き直します。

その後、バージョン確認をすると新しい長期安定版が入っていることが確認できます。

ExpressとExpress-Generatorのインストール

ExpressとはNodeでのWebアプリケーションやシステムを開発するのに必要な機能が予め用意された骨組みで、

Express-GeneratorはExpressのアプリケーションを生成するツールです。

まずはExpressをインストールします。

nom install express --save

次にExpress-Generatorをインストールします。

npm install express-generator -g

次のコマンドでバージョンが表示されれば正常にインストールされています。

express --version

Webサーバを立ち上げる

次のコマンドでプロジェクトを作成します。

このコマンドはviewオプションでテンプレートエンジンを変更することができます。

今回はフォルダ名を「testweb」、テンプレートエンジンにPugを指定しています。

express testweb --view=pug

以下のコマンドで作成したプロジェクトフォルダへ移動します。

cd testweb

以下のコマンドでNode.jsで利用するパッケージをインストールします。

npm install

以下のコマンドでサーバを動かします。

npm start

Webサーバーへアクセスする

ブラウザを開き、「http://localhost:3000」にアクセスします。

すると以下のようなサンプルページが表示されます。

Node Express サンプルページ

おわりに

今回はRaspberry Pi を使ってWebサーバを立てる方法を紹介しました。

今後は、Nodeサーバーを使った簡単なシステムの構築方法をご紹介していきたいと考えています。