nodejs写一个简单的数据接口并后台运行及做成服务

前两天公司的有个前端项目需要访问数据库取一些产品数据的信息,然后我用nodejs写了一个简单的数据接口提供,数据库是sql server的,请求方式是get含参数

const express=require('express');
const app=express();
var sql = require('mssql');
const superAgent=require('superagent');
   

app.get('/api/size_info',function(req,res){
res.header("Content-Type", "text/html; charset=utf-8");
var name = req.query.goods;
console.log(name);
if(name.length==0){res.end('请输入款号')}
else if (name.length > 12){res.send('请输入正常的款号')}
else{
sql.connect("mssql://用户名:密码@IP地址:7477/数据库名称").then(function() {
    // Query
    new sql.Request().query('select  * from view_size_info where 款号=' + name,function(err,data) {
		if(err){var result = {
                "status": "500",
                "message": "服务器错误"
            }
			console.log(err);
		return res.jsonp(result);	
			}
		else{
			var result = {
                "status": "200",
                "message": "success",
				"data":data.recordset
            }
		return res.jsonp(result);	
		}
        
    })
})
}
});
app.listen(10000,function(){
console.log('api listening on 10000')
})

用命令行运行js文件

node api.js

但是关掉这个命令窗口的话,接口就停止了,
使用forever模块来将程序设置为后台运行
全局安装forever

npm --registry https://registry.npm.taobao.org install -g forever

安装完成之后,简单启动

forever start api.js

也可以指定输出日志,错误日志

forever start -o out.log -e err.log api.js

显示所有运行的服务

forever list

将nodejs程序做成windows服务,自动启动

1. 全局安装node-windows的库
      npm i -g node-windows
2. 在项目中新建一个安装文件api.js
     let Service = require('node-windows').Service;

     let svc = new Service({
        name: 'api_server',    //服务名称
        description: '简单的接口服务', //描述
        script: 'D:/node/api_server.js' //nodejs项目要启动的文件路径
    });

    svc.on('install', () => {
        svc.start();
    });

    svc.install();
3. 在项目中新建一个卸载文件api-uninstall.js
    let Service = require('node-windows').Service;

     let svc = new Service({
        name: 'api_server',    //服务名称
        description: '简单的接口服务', //描述
        script: 'D:/node/api_server.js' //nodejs项目要启动的文件路径
    });

  svc.on('uninstall',function(){
      console.log('Uninstall success');
      console.log('The service exists: ',svc.exists);
    });

  svc.uninstall();
4. 执行命令
      node api.js //安装服务
      node api-uninstall.js //卸载服务
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值