3,401 views
この記事は最終更新から 2672日 が経過しています。
1. やりたいこと
まず、Node.jsをインストールする。
次に、Node.jsで簡易 HTTPサーバーを起動してみる。
2. やってみる
(1) Node.jsをインストール
CentOS7にNode.jsをインストールする。
(EPELリポジトリにあった。)
# yum -y install nodejs
2018年8月28日時点でのバージョンは v6.14.3だった。
# node -v v6.14.3
(2) JavaScriptで簡易HTTPサーバを書く
指定ポートへの HTTPアクセスがあったら「Hello World!」と返すだけの HTTPサーバーを書く。
test.js
var portNo = 9999;
function listener( req, res ){
res.statusCode = 200;
res.setHeader('Content-type', 'text/plain');
res.write('Hello World!');
res.end();
}
var http = require( 'http' );
var server = http.createServer( listener );
server.listen( portNo );
console.log('Server running at http://localhost:' + portNo);
ポート番号 9999 を使うことにしたので、firewallに穴をあけておく。
電源断後にはこの設定が消えてよいので permanent指定しない。
# firewall-cmd --add-port=9999/tcp --zone=public # systemctl reload firewalld # firewall-cmd --list-all --zone=public
作った HTTPサーバを起動する。
$ node ./test.js Server running at http://localhost:9999
(3) WEBブラウザでアクセスしてみる
できた!

x. おまけ
上記の test.js は、以下のように関数 listener を省略して書ける。
var portNo = 9999;
var http = require( 'http' );
http.createServer(( req, res ) => {
res.statusCode = 200;
res.setHeader('Content-type', 'text/plain');
res.write('Hello World!');
res.end();
}).listen( portNo );
console.log('Server running at http://localhost:' + portNo);
アクセス数(直近7日): ※試験運用中、BOT除外簡易実装済2026-01-09: 0回 2026-01-08: 0回 2026-01-07: 3回 2026-01-06: 2回 2026-01-05: 1回 2026-01-04: 0回 2026-01-03: 0回