中堅プログラマーの備忘録

忘れっぽくなってきたので備忘録として・・・

【raspberry PI 3B +】CentOS7でnode.jsとExpressでWEBサーバーを構築する

まずは【node.js】をインストールします。
【node.js】は直接取りに行きます。

https://nodejs.org//dist/v9.9.0/node-v9.9.0-linux-armv7l.tar.xz

[root@localhost ~]# yum install wget
[root@localhost ~]# wget https://nodejs.org//dist/v9.9.0/node-v9.9.0-linux-armv7l.tar.xz 
[root@localhost ~]# tar -xvf node-v9.9.0-linux-armv7l.tar.xz 
[root@localhost ~]# cd node-v9.9.0-linux-armv7l
[root@localhost node-v4.0.0-linux-armv7l]# cp -R * /usr/local/


【node.js】のバージョンを確認します。

[root@localhost ~]# node -v
v9.9.0

一応【npm】のバージョンを確認します。
【npm】とは【Node Packaged Modules】の略で
Node.jsのパッケージマネージャーで、Node.jsのツールやパッケージインストールしたり管理したりします。

[root@localhost ~]# npm -v
5.6.0


作業用フォルダを作成します。
ここでは【/home/myapp】とします。

[root@localhost /]# cd home
[root@localhost home]# mkdir myapp


作業用フォルダに移動して
このフォルダでプロジェクト開始!ということを【npm】に教えます。

[root@localhost home]# cd myapp
[root@localhost myapp]# npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install ` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (myapp)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to /home/myapp/package.json:

{
  "name": "myapp",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this ok? (yes) y


これで【package.json】というファイルが作業フォルダに作成されました。
では実際に動かす【app.js】を作成します。

[root@localhost myapp]# vi app.js
const http = require('http');
const server = http.createServer((req, res)=>{
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World!!');
});
server.listen(80);


【firewall】のポートを開放します。

[root@localhost ~]# firewall-cmd --permanent --add-service=http
success
[root@localhost ~]# systemctl restart firewalld.service


【app.js】を実行します。

[root@localhost myapp]# node app.js


ここまで完了したらサーバーが起動してるはずなのでブラウザからアクセスしてみます。
http://192.168.0.130/
下記のとおり表示されたら、とりあえずの動作確認は完了です。
f:id:tsu--kun:20190612153751p:plain

次に【Express】をインストールします。

[root@localhost ~]# npm install express --save
  1. express@4.17.1
added 50 packages in 13.328s


次にExpressコマンドを動くようにします。

[root@localhost home]# npm install -g express-generator
/usr/local/bin/express -> /usr/local/lib/node_modules/express-generator/bin/express-cli.js
  1. express-generator@4.16.1
added 10 packages in 6.459s


バージョンを確認してみます。

[root@localhost /]# express --version
4.16.1


これで開発の準備が整いました。