1. nodejs的安装
方法一:
sudo yum install epel-release
sudo yum install nodejs
node --v
提示安装了v6.14.3
sudo yum install npm --enablerepo=epel
npm -v
提示安装了3.10.10
全局安装express
sudo npm install -g express
sudo npm install -g express-generator
express --version
提示安装了4.16.0
方法二:
1、下载
wget --no-check-certificate https://nodejs.org/dist/v6.11.1/node-v6.11.1-linux-x64.tar.xz
2、解压
tar xvf node-v6.11.1-linux-x64.tar.xz
把bin文件夹中node以及npm设置为全局:
sudo ln -s /home/node-v6.11.1-linux-x64/bin/node /usr/local/bin/node
sudo ln -s /home/node-v6.11.1-linux-x64/bin/npm /usr/local/bin/npm
3、安装 express
npm install express -gd
npm install -g express-generator
将express设置为全局:
sudo ln -s /home/node-v6.11.1-linux-x64/bin/express/usr/local/bin/express
2. nodejs服务
#创建web服务目录
mkdir www
#进入www目录创建server.js作为nodejs的http服务器文件
touch server.js
#启动服务
node server.js
server.js
var http = require('http');
var querystring = require('querystring');
const hostname = '11.22.212.5';
const port = 3030;
console.log(`Server running at http://${hostname}:${port}/`);
http.createServer(function (req, res) {
//暂存请求体信息
var body = "";
//请求链接
console.log(req.url);
//每当接收到请求体数据,累加到post中
req.on('data', function (chunk) {
body += chunk; //一定要使用+=,如果body=chunk,因为请求favicon.ico,body会等于{}
console.log("chunk:",chunk);
});
//在end事件触发后,通过querystring.parse将post解析为真正的POST请求格式,然后向客户端返回。
req.on('end', function () {
// 解析参数
body = querystring.parse(body); //将一个字符串反序列化为一个对象
console.log("body:",body);
// 设置响应头部信息及编码\
res.writeHead(200, {'Content-Type': 'text/html; charset=utf8'});
res.write("ok");
res.end();
});
}).listen(port, hostname);
listen事件去掉hostname就是本地请求
浏览器请求,返回ok
参考
https://segmentfault.com/a/1190000011819291
https://www.cnblogs.com/jj-notes/p/6670310.html