Search

与我们合作

我们专注:网站策划设计、网络多媒体传播、网站优化及网站营销、品牌策略与设计
主营业务:网站建设、移动端微信小程序开发、VI设计、网络运营、云产品·运维解决方案

有一个品牌项目想和我们谈谈吗?

您可以填写右边的表格,让我们了解您的项目需求,这是一个良好的开始,我们将会尽快与您取得联系。当然也欢迎您给我们写信或是打电话,让我们听到您的声音

您也可通过下列途径与我们取得联系:

地 址: 深圳.龙岗区大运软件小镇11栋3楼

电 话: 138 2888 4598 / 138 0880 9053

网 址: http://www.appvx.cn

快速提交您的需求 ↓

Node.js搭建小程序后台服务

时间:2021-06-05 浏览:2506 编辑:深正互联 来源:互联网

准备条件


  

一台服务器

  


  

SSL证书,小程序规定必须要https协议

  


  

服务器后台


  

Node.js

  express

  mongodb

  pm2

  


  

下面以腾讯云主机(centos)为例


  

安装Node.js


  

yum install nodejs

  


  

也可以安装nvm,用nvm管理nodejs版本


  

安装git


  

yum install git 

  


  

连接到远程代码库


  

以github为例:


  

配置用户信息


      git config --global user.name youname  git config --global user.email youemail    

生成ssh公钥


  

ssh -keygen -t rsa -C youemail

  


  

默认生成目录为 /root/.ssh

  在目录中找到id_rsa.pub文件,复制里面的内容,在自己的github上添加ssh


  

安装mongodb和客户端shell


  

yum install mongodb-server mongodb -y

  


  

创建数据库文件存放目录


      mkdir -p /data/mongodb  mkdir -p /data/logs/mongodb    

启动mongodb数据库服务


  

mongod --fork --dbpath /data/mongodb --logpath /data/logs/youlog.log 

  


  

注意:

  如果在启动mongodb服务时在命令后面加上 --auth即会开启认证。

  建议开启认证,如果不开会很容易被黑。


  

--port 12345可以改变数据库的端口号,默认是27017。


  

--fork是以守护进程的方式启动数据库服务。


  

--dbpath /data/mongodb 指定数据库文件存放的目录。


  

--logpath /data/logs/youlog.log 指定日志文件目录。


  

mongodb的配置文件默认在 /etc/mongod.conf


  

启动客户端shell


  

mongo  //启动mongodb客户端shell 默认连接test数据库

  


  

在shell里可以切换数据库连接,和进行相关操作。


  

在云服务器以守护进程的方式启动一次数据库服务之后,关闭终端,服务也不会被终止。所以下次不用再启动数据库服务,直接连接就可以。


  

关闭数据库服务


  

mongod --shutdown (--dbpath /data/mongodb)

  


  

如果启动时加了dbpath而且不是默认的/data/db ,则关闭数据库服务时也应加上dbpath。


  

创建https服务


  

npm init  //项目初始化

  


  

安装express


  

npm install express --save

  


  

实现简单的https服务器


      const https = require('https');  const fs = require('fs');  const express = require('express');  const app = express();    let key = fs.readFileSync('youssl.key');  let cert = fs.readFileSync('youssl.crt');    let options = {    key : key,    cert : cert  };    const httpsServer = https.createServer(options,app);  httpsServer.listen(443, () => {    console.log('listening 443 port');  });    app.get('/',(req, res, next) => {    console.log('someone request');  });        

.key和.cert文件为你的ssl认证文件,以腾讯云主机为例,可以有免费1年的ssl证书。


  

使用mongoose操作数据库


      npm install mongoose --save  const mongoose = require('mongoose');  mongoose.connect('mongodb://127.0.0.1/dbname'); //连接数据库    const connection = mongoose.connection;  connection.once('open', (err) => {    if(err){      console.log('Database connection failure');    }else{      console.log('Database opened');    }  });    const Schema = mongoose.Schema;    const YourSchema = new Schema({    name : String,    age : Number,  });    const yourModel = mongoose.model('yourtable', YourSchema); //在数据库中对应的表为yourtables    let yourDoc = new yourModel({    name : 'yourname',    age : 18,  });        

注意 如果启动mongodb数据库服务时加上了--auth 则使用mongoose连接数据库时,要加上认证的账户


  

mongoose.connect('mongodb://youraccount:pwd@127.0.0.1/dbname');

  


  

mongodb与关系型数据库的对应关系


  

  

Schema相当于表的结构,可以预定义文档的字段类型,不能进行数据库操作。 Modle可以进行一系列数据库操作,相当于表。Model的实例就相当于表的一行。


  

使用pm2


  

安装pm2


  

npm install  -g pm2

  


  

启动应用


  

pm2 start app.js

深正互联

本站文章均为深正网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,但谢绝直接搬砖和抄袭!感谢...
GO 欣赏案例
查看经典案例
在线咨询
电话咨询
0755-36630177
返回顶部
在线咨询 获取报价 电话咨询
获取报价
您的称呼:

*

您的电话:

*

您的邮箱:

*

提交 重置
重要的事情,电话里聊

接通客服

不方便的时候线上咨询,在线等哦