如何在Linux下部署一个NodeJS应用,比如网站。

首先英语好的,可以直接去看官方英文版。。。。

https://nodejs.org/en/download/package-manager/

主要的步骤,以CentOS为例

curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum -y install nodejs

运行结束,应该就OK了,可以用下面的命令确认一下

[root@li1723-168 DemoTSServer]# node -v
v6.11.4

同时顺便确认下NPM的安装情况,应该也是OK的

[root@li1723-168 DemoTSServer]# npm -v 3.10.10

然后我们就可以通过NPM安装需要的依赖,比如Mongodb

npm install mongodb
...

随便拉个程序过来看下情况,

node XXX.JS

如果能跑就OK了,顺便附赠一个监视程序,用来保证NodeJS一直可靠运行

npm install -g forever 
forever start DemoServerTS002.js 
warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info:    Forever processing file: DemoServerTS002.js

我是一个HelloWorld的Server,浏览器打开一看,OK了。。。

附送一个简易探针程序

import * as http from 'http';
import * as os from 'os';
class NodeServer001 {
    server;
    gigaByte = 1 / (Math.pow(1024, 2)); 

    run() {
      
        this.server = http.createServer(this.requestHandler)
        this.server.listen(18080, (err) => {
          console.log(`server is listening on 18080!`)
        })
    }

    requestHandler = (request, response) => {
        response.writeHead(200, {"Content-Type": "text/html; charset=utf-8"});
        
        var strMsg : string = "运行环境" + os.platform() + ""; 
        strMsg = strMsg + "<br>" + "已连续运行 : " + os.uptime() + "秒"; 
        strMsg = strMsg + "<br>" + "总内存 : " + os.totalmem() * this.gigaByte + "MBs"; 
        strMsg = strMsg + "<br>" + "可用内存 : " + os.freemem() * this.gigaByte +  "MBs";
        strMsg = strMsg + "<br>" + "内存占用 : " + 100 * (1 - os.freemem() / os.totalmem()) + "%";
        strMsg = strMsg + "<br>" + "本机共有 : " + os.cpus().length + " 个处理器";
        // console.log("Available Memory", os.freemem() * gigaByte, "MBs"); 
        // console.log("Percent consumed", 100 * (1 - os.freemem() / os.totalmem()), "%");
        // console.log("This machine has", os.cpus().length, "CPUs");

        response.end(strMsg)
    }
} 

let mNodeServer001 = new NodeServer001();
mNodeServer001.run();

跑起来,浏览器访问能看到

运行环境linux
已连续运行 : 50203秒
总内存 : 989.31640625MBs
可用内存 : 117.91015625MBs
内存占用 : 88.08165360393264%
本机共有 : 1 个处理器

最后修改日期: 2017年10月17日

作者