Node.jsで簡易的なサーバを立ち上げる

Node.jsで簡易的なサーバを立ち上げてみます。

サーバ用のライブラリをインストールする前に下記URLに記載されているNode.jsを最新版にしておきましょう。

クロスティーニに最新版のNode.jsをインストールする


クロスティーニを起動し、下記のコマンドを実行します。

$ npm install http-server -g

下記のコマンドを実行して、http-serverがインストールされたかを確認します。

$ http-server -v

http-serverがインストールされていれば、

v14.1.1

のようにバージョンが表示されます。


http-serverをインストールする時に指定したオプションの -gですが、このオプション値を追加することで、どのディレクトリにいても、

$ http-server

のコマンドを実行することができます。




Node.jsでサーバを立ち上げる為の準備を行います。

今回はnode-serverというプロジェクト名にして話を進めます。

下記のコマンドを実行します。

$ cd ~
$ mkdir workspace
$ cd workspace
$ mkdir node-server

これで、

/home/******(ユーザ名が入る)/workspace/node-server/

というディレクトリ構造ができました。


続いて下記のパスになるようにファイルを作成します。

/home/******(ユーザ名が入る)/workspace/node-server/index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Node.js simple server</title>
<head>
<body>
hello Node.js simple server.
</body>
</html>

下記のコマンドを実行してサーバを立ち上げてみます。

$ cd ~/workspace/node-server
$ http-server
Starting up http-server, serving ./

http-server version: 14.1.1

http-server settings: 
CORS: disabled
Cache: 3600 seconds
Connection Timeout: 120 seconds
Directory Listings: visible
AutoIndex: visible
Serve GZIP Files: false
Serve Brotli Files: false
Default File Extension: none

Available on:
  http://127.0.0.1:8080
  http://100.115.92.206:8080
Hit CTRL-C to stop the server

コマンド実行後に上記のような値が出力されます。


サーバが立ち上がったら、Chrome(クローム)で表示されたIPアドレスにアクセスしてみます。



クロームの方でエラーが発生せずに上のキャプチャのような表示を確認できればサーバの立ち上げは終了です。


クローム経由でアクセス後にクロームブックのクロスティーニの方を確認してみると、

2024-01-22T05:45:37.407Z]  "GET /" "Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
(node:1901) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
(Use `node --trace-deprecation ...` to show where the warning was created)
[2024-01-22T05:45:37.947Z]  "GET /favicon.ico" "Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
[2024-01-22T05:45:37.950Z]  "GET /favicon.ico" Error (404): "Not found"

のように表示されていました。


同一のネットワーク(同じLAN内)にあるスマホ等のデバイスでアクセスしたい場合はクロームブックでWebサーバを立ち上げるをご覧ください。

マインクラフト用ビジュアルエディタを開発しています。
詳しくはinunosinsi/mcws_blockly - githubをご覧ください。