1、安装node环境,没有就去看上一篇文章 2、创建一个node项目, 新建一个目录文件,例node_proxy 3、在新建的node项目执行npm init, 文件会生成一个package.json的文件 目录:
1.js里编写
(资料图片)
const express = require("express");const app = express();const os = require("os");app.use(express.static("./"));app.post("/ms/coupon/template/pageList", function (req, res) { res.setHeader("Content-Type", "text/plain;charset=utf8"); res.end(JSON.stringify({ code: 0, data: { list:[ { couponTemplateId: 1, couponName: "小布丁代金券", } ], pageIndex: 1, pageSize: 10, total: 3 }, msg: "success", success: true }))})// 添加链接保存app.get("/ms/coupon/template/get", function (req, res) { res.setHeader("Content-Type", "text/plain;charset=utf8"); res.end(JSON.stringify({ code: 0, data: { brandName: "品牌名称", couponAvailableTime: "2020-45-34", }, msg: "success", success: true }))})const server = app.listen(8888, function (req, res, next) { let host = server.address().address let port = server.address().port console.log("http://%s:%s", host, port)})
4、启动接口: node 1.js 6、在前端则使用http://localhost:8888/ms/coupon/template/get 去访问这个接口
二、把项目部署到服务器上
到目前node的环境是搭建好了的。 1、把 api 接口代码上传到服务器(不用上传node_modules,有package.json文件就行了),在服务器文件通过命令窗口npm install 安装依赖。 一般放到服务器的根路径下的 api 文件夹/api/
2、在服务器安全组中添加 api 监听的端口号不然访问不了接口,比如腾讯云云的安全防火墙
3、cd 到 api 接口目录下,输入node index.js启动接口就可以了。但是命令窗口关了接口连接也会断开, 可以使用screen、forever、pm2保护进程。
三、让nodejs接口一直在服务器运行
1、screen、forever、pm2都可以管理nodejs的接口,我这里用了pm2.
2、 建议使用 PM2 , 优点: ①可以多进程 ②可以将日志(分类)保存到指定的目的 ③可以自动重启 ④可以方便的查看进程基本信息
安装:
npm i -g pm2
启动:
pm2 start app.js --watch #实时监控app.js的方式启动,当app.js文件有变动时,pm2会自动reloadpm2 start app.js -i max # 根据有效CPU数目启动最大进程数目pm2 start app.js -n appname -i max -e err.log -o out.log # 以 appname 启动 app.js,错误当前目录 err.log 为 error log,out.log 为输出 logpm2 start bb.sh --interpreter bash # 用 bash 执行脚本pm2 start test.py--interpreter python3 # 用 python 环境执行脚本
启动类似 node xxx.js 的项目
pm2 start --name xxxsname xxx.js # 将运行的实例命名为 xxxsname
启动类似 npm start 的项目
pm2 start --name appname npm -- start # 设置应用名为 appname
启动类似 npm run serve 的项目
pm2 start --name servename npm -- run serve # 设置应用名为 servename
--name xxx 或者 -n xxx 表示将应用命名为 xxx 以配置文件的形式启动
pm2 start pm2config.json
查看 PM2 部署的应用
pm2 list # 显示所有进程状态pm2 ls # 显示所有进程状态pm2 show 0 # 显示某个应用的详细信息pm2 monit # 监视所有进程pm2 logs # 显示所有进程日志pm2 log 0 # 查看 0 应用的日志pm2 stop all # 停止所有进程pm2 restart all # 重启所有进程pm2 reload all # 0秒停机重载进程pm2 stop 0 # 停止指定的进程,0 是应用 idpm2 restart 0 # 重启指定的进程,0 是应用 idpm2 startup # 产生 init 脚本 保持进程活着,startup 是指系统boot, 开机进程自启动pm2 unstartup # 禁用开机进程自启动pm2 delete 0 # 杀死指定的进程,0 是应用 id,会删除该应用pm2 delete all # 杀死全部进程,会删除所有应用
标签:
免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。