node.js运行在后台中

262 阅读1分钟

一:安装步骤

1.wget命令下载Node.js安装包。该安装包是编译好的文件,解压之后,在bin文件夹中就已存在node和npm,无需重复编译。

wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz

2.解压文件。

tar xvf node-v6.9.5-linux-x64.tar.xz

3.创建软链接,使node和npm命令全局有效。通过创建软链接的方法,使得在任意目录下都可以直接使用node和npm命令:

ln -s /root/node-v6.9.5-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm

4.查看node、npm版本。

node -v
npm -v

至此,Node.js环境已安装完毕。软件默认安装在/root/node-v6.9.5-linux-x64/目录下。如果需要将该软件安装到其他目录

二:新建example.js文件,内容如下

    const http = require('http');
    const hostname = '0.0.0.0';  //这里一定要这样写
    const port = 3000;
    const server = http.createServer((req, res) => {
    res.statusCode = 200;
    res.setHeader('Content-Type', 'text/plain');
    res.end('Hello World\n');
    });
    server.listen(port, hostname, () => {
    console.log(`Server running at http://${hostname}:${port}/`);
    });

至此,在putty输入node example.js之后,在浏览器中输入服务器IP+端口号,可以返回'Hello World',但当putty的会话关闭之后,这个接口就访问不到了。使用nohup node example.js &命令可以使example.js运行于后台,这样在会话关闭之后,就可以访问到接口所对应的数据。

三:注意点

1.Error: listen EADDRINUSE 0.0.0.0:3000

这种错误可能是由于端口号被占用

检查端口号是否被占用:netstat -anp | grep 3000

杀死占用此端口号的程序:kill -9 PID

2.Error: listen EADDRINUSE 0.0.0.0:3000

这种错误可能是由于example.js文件中的ip未使用0.0.0.0

3.输入 vim nohup.out,显示如下,则说明example.js已经运行在后台了。

Server running at http://0.0.0.0:3000/