node.js express创建本地服务以及使用pm2启动服务

在node.js环境下安装插件:

npm i body-parser
npm i express

 

同目录下创建app.js

// 引入express中间件
const express = require('express');
const bodyParser = require('body-parser');
// 创建web服务器
const app = express();
// 使用body-parser中间件解析JSON类型的请求体,处理post请求参数
app.use(bodyParser.json());
// 拦截所有请求
// extended: false 方法内部使用querystring模块处理请求参数的格式
// extended: true 方法内部使用第三方模块qs处理请求参数的格式
app.use(bodyParser.urlencoded({ extended: false }))
// 指定启动服务器到哪个文件夹
app.use(express.static('./dist'));
app.post('/submit-data', (req, res) => {
  // 通过req.body访问POST参数
  const postData = req.body;
  console.log('postData', postData);
  // 处理postData...
  res.send('Data received');
});
app.get('/', (req, res) => {
  console.log('服务器已启动');
  res.send('返回结果11');
})
app.post('/postid', (req, res) => {
  res.send({ name: '艾利', age: '11' });
})
// 启动服务器监听80端口
app.listen(8081, () => {
  console.log('web server22 running at http://127.0.0.1');
})

浏览器输入:http://localhost:8081/

服务输出日志:

浏览器输入的为get请求,要发送post请求,打开Postman输入http://127.0.0.1:8081/submit-data,在body中设置传参请求

 

可以看到返回的结果,服务也打出结果:

如果我们要频繁修改代码时,每次都要先关闭服务再使用node启动,那有什么更好的方法监听到代码改变后就重启服务呢,有个好的方法是使用pm2来启动服务。

先全局设置安装pm2,

npm i -g pm2

 在app.js同级下新增 ecosystem.config.js

module.exports = {
  apps: [{
    name: 'my-app',
    script: 'app.js',
    // 集群模式,进程数取决于CPU核心数,设置负载
    instances: "max",
    exec_mode: "cluster",//启动模式
    watch: true,//监听代码改变时重启
    max_memory_restart: '500M',//内存超500M时重启
    error_file: "./pm2-err.log",//报错日志
    out_file: "./pm2-out.log",//输出日志
    log_date_format: "YYYY-MM-DD HH:mm:ss",//日志时间格式
    merge_logs: true,
    env: {
      NODE_ENV: 'development',
    },
    env_production: {
      NODE_ENV: 'production',
    },
  }],
};

pm2命令: 

启动命令:pm2 start ecosystem.config.js
终止命令:pm2 stop all

删除命令:pm2 delete all

如果想使用npm命令启动可以在package.json中设置:

"scripts": {

    "serve": "pm2 start ecosystem.config.js",

    "stop": "pm2 stop all",

    "delete": "pm2 delete all"

  },

 现在我们使用npm run serve启动下服务:

可以看到pm2启动了4个进程 ,

再次发起get请求:http://127.0.0.1:8081/

 修改代码:返回结果33

再次请求,可以看到返回结果发生了改变

 如果想看服务输出日志可以使用命令:pm2 logs
其他pm2命令参考:pm2学习笔记 - 简书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值