前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用nodejs编写api接口并部署到服务器上

使用nodejs编写api接口并部署到服务器上

作者头像
小吕
发布2022-06-16 18:54:30
7.5K0
发布2022-06-16 18:54:30
举报
文章被收录于专栏:小吕

一、用node.js编写api接口

1、安装node环境,没有就去看上一篇文章 2、创建一个node项目, 新建一个目录文件,例node_proxy 3、在新建的node项目执行npm init, 文件会生成一个package.json的文件 目录:

1.js里编写

代码语言:javascript
复制
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 , 优点:   ①可以多进程   ②可以将日志(分类)保存到指定的目的   ③可以自动重启   ④可以方便的查看进程基本信息

安装:
代码语言:javascript
复制
npm i -g pm2
启动:
代码语言:javascript
复制
pm2 start app.js --watch   #实时监控app.js的方式启动,当app.js文件有变动时,pm2会自动reload
pm2 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 为输出 log
pm2 start bb.sh  --interpreter bash # 用 bash 执行脚本
pm2 start test.py--interpreter python3 # 用 python 环境执行脚本

启动类似 node xxx.js 的项目

代码语言:javascript
复制
pm2 start --name xxxsname xxx.js  # 将运行的实例命名为 xxxsname

启动类似 npm start 的项目

代码语言:javascript
复制
pm2 start --name appname npm -- start # 设置应用名为 appname

启动类似 npm run serve 的项目

代码语言:javascript
复制
pm2 start --name servename npm -- run serve # 设置应用名为 servename

--name xxx 或者 -n xxx 表示将应用命名为 xxx 以配置文件的形式启动

代码语言:javascript
复制
pm2 start pm2config.json

查看 PM2 部署的应用

代码语言:javascript
复制
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 是应用 id
pm2 restart 0          # 重启指定的进程,0 是应用 id
pm2 startup            # 产生 init 脚本 保持进程活着,startup 是指系统boot, 开机进程自启动
pm2 unstartup          # 禁用开机进程自启动
pm2 delete 0           # 杀死指定的进程,0 是应用 id,会删除该应用
pm2 delete all         # 杀死全部进程,会删除所有应用
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、用node.js编写api接口
  • 二、把项目部署到服务器上
  • 三、让nodejs接口一直在服务器运行
    • 安装:
      • 启动:
      • 查看 PM2 部署的应用
      相关产品与服务
      主机安全
      主机安全(Cloud Workload Protection,CWP)基于腾讯安全积累的海量威胁数据,利用机器学习为用户提供资产管理、木马文件查杀、黑客入侵防御、漏洞风险预警及安全基线等安全防护服务,帮助企业构建服务器安全防护体系。现支持用户非腾讯云服务器统一进行安全防护,轻松共享腾讯云端安全情报,让私有数据中心拥有云上同等级别的安全体验。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档