由于微信的小程序只支持不带端口的域名接口,不支持IP地址和接口,所以我们需要映射到80端口并绑定备案过的域名才能被微信小程序访问到。简单点就是接口需要 https 协议才行,找了许久的免费的数据库与node.js的环境,都不尽人意,下面是整理的可以考虑的免费的产品:

  1. 通过新浪云部署Node.js微信小程序商城(不用买域名、不用备案、不用配置https
  2. 如果已经有备案的网站但是没有配置SSL时,可以考虑阿里云免费证书DV SSL,这个免费的证书隐藏的比较隐蔽:证书类型 选择 Symantec 品牌 注意,选择之后你并不会看到免费的证书! 选择证书类型 你还需要选择一下 增强型OV SSL,这时免费型DV SSL 选项才会出现。
  3. 使用国外的,国外有三家非常不错的供应商MongoLab和RedisLabs和MongoDB Atlas,可以提供免费的mongodb数据库,可以考虑,需要FQ
  4. 免费的 node.js 服务器heroku,同样需要FQ,注册需要使用 gmail 邮箱,偏慢但(推荐)

国外的三家免费的 mongodb 数据库对比:

  1.  MongoLab    提供500MB免费的云端存储,Mongo目前版本为3.0.8(推荐)
  2. RedisLabs    提供30M免费空间
  3. MongoDB Atlas 提供512M免费空间

附数据库地址:

  1. MongoLab  https://mlab.com
  2. RedisLabs  https://redislabs.com/redis-enterprise/cloud
  3. MongoDB Atlas  https://www.mongodb.com/cloud/atlas

以下是使用 mlab + heroku 配置的小程序接口操作办法,编辑器使用  Visual Studio Code

替换 mlab 数据库地址

打开已经写好的接口项目,替换申请并建立好的 mlab 数据库地址。这个很简单,不多做解释。

配置 heroku node 环境,并将已经替换好 mlab 的数据库的代码 push 到 heroku 仓库,并测试接口是否正常

使用 Visual Studio Code 打开下载好的代码
  1. 初始化 npm install
  2. 新建 .gitignore 排除上传代码块
  3. 初始化一个本地git   git init
  4. 将当前代码保存到本地git中   git add.
  5. 查看当前git状态   git status
  6. 提交到当前git中   git commit '代码提交信息'
  7. 将本地git仓库连接到远程 heroku 仓库,将代码推送到远程仓库中 ,需要使用一个工具  The Heroku CLI
  8. 安装 Heroku CLI
  9. 在 vcode 的终端下,使用 heroku 命令,登录 heroku     heroku login
  10. 输入用户名与密码(如果已经登录了 heroku,是不会再在命令行中有提示输入用户名与密码的)
  11. 登录成功后,创建一个 app,必须写好app的名称    heroku create jdapi   /   https://git.heroku.com/jdapi.git
  12. 记录创建好的 app 名称
  13. 进入网页中的控制台,进入刚创建好的 app 中,点击 Deploy,可以看到上面的 git 步骤
  14. 连接 app ,复制 Deploy 中连接 heroku 的命令  heroku git:remote -a jdapi,连接成功后会返回一个 heroku git 地址 :git remote heroku to https://git.heroku.com/jdapi.git
  15. 在 heroku 仓库中执行 git add . 将当前项目添加到 heroku git 中;之后 commit 当前项目至 heroku git : git commit -am "make it better"  ;
  16. 最后,将本地仓库中的代码 push 到 heroku git 中,需要再从 Deploy 中再次复制 push 命令    git push heroku master
  17. 提示 master -> master 表示代码 push 成功
  18. 命令行中输入 heroku open 打开当前项目地址
使用 heroku 项目地址检查接口数据是否正常返回
heroku 项目地址 + 接口地址,比如  https://jdapi.herokuapp.com/api/profiles/homepage

按照红色的命令全部操作一遍就可以打开接口测试的地址。

下面是我自己的操作 heroku 的命令:

至此,这个国外的服务器就可以使用了。

使用免费 mongodb数据库 + 免费node.js服务器搭建小程序接口的更多相关文章

  1. CentOS 7.3 下部署基于 Node.js的微信小程序商城

    本文档为微信小程序商城NideShop项目的安装部署教程,欢迎star NideShop商城api服务:https://github.com/tumobi/nideshop NideShop微信小程序 ...

  2. Ubuntu 16.04 下部署Node.js+MySQL微信小程序商城

    转载于这篇文章 关于pm2看这篇文章 最近在研究小程序,申请了域名之后,再一次来配置环境,根据作者的步骤基本上完成了网站的架构,但由于环境路径等不同,配置上会有所不同,因此记录下来. 1.更新系统和安 ...

  3. node.js服务器搭建

    //1.导入http 核心模块 const http = require("http"); //2.调用http.createServer 方法,创建一个web 服务器对象 con ...

  4. 搭建一个简单的node.js服务器

    第一步:安装node.js.可以去官网:https://nodejs.org/en/进行下载. 查看是否成功,只需在控制台输入 node -v.出现版本号的话,就证明成功了. 第二步:编写node.j ...

  5. 本地Vue项目跨域请求本地Node.js服务器的配置方法

    前言:跨域请求是在本地开发时经常遇到的需求,也很简单,只是几句代码配置一下的问题.我初次配置跨域请求时由于官方的说明太简洁,找到的教程又落伍,调试了一番并没有解决问题,到最后解决问题,已花费了很多时间 ...

  6. paip.最好的脚本语言node js 环境搭建连接mysql

    paip.最好的脚本语言node js 环境搭建连接mysql #====下载node...走十一个exe..容易的.. 1 #0----Hello world   .js 2 #---------模 ...

  7. node.js环境搭建

    (1)Node.js安装 Node.js安装包及源码下载地址为: https://nodejs.org/download/   , 双击下载后的安装包.msi,检查Node.js版本命令:node - ...

  8. Node.js环境搭建&&npm安装

    Node.js环境搭建 什么使Node.js呢?我们知道JavaScript开始作为客户端语言,但早已在浏览器端一统江湖,这时,野心越来越大,它就想向服务器端拓展了,于是Node.js就是这样的,我们 ...

  9. Node.js 环境搭建及简单应用

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型.如果你想创建自己的服务,那么Node.js是一个非 ...

随机推荐

  1. Asp.Net Core 轻松学-使用MariaDB/MySql/PostgreSQL和支持多个上下文对象

    前言 在上一篇文章中(Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库)[https://www.cnblogs.com/viter/p/10243577.html],介 ...

  2. headfirst设计模式(8)—适配器模式与外观模式

    前言 这一章主要讲2个模式,一个是,适配器模式(负责将一个类的接口适配成用户所期待的),另外一个是外观模式(为子系统提供一个共同的对外接口),看完的第一反应是,为什么要把它们两放在同一章,难道它们有什 ...

  3. 设计模式系列1:单例模式(Singleton Pattern)

    定义 保证一个类仅有一个实例,并提供一个该实例的全局访问点.  --<设计模式GoF> UML类图 使用场景 当类只能有一个实例并且用户可以从一个众所周知的访问点访问它时. 创建一个对象需 ...

  4. 前端笔记之HTML

    前端三层:内容层(结构层)HTML.样式层(表现层)CSS.行为层JavaScript 层 语言 含义 结构层 HTML 由 HTML 或 XHTML之类的标记语言负责创建.标签,也就是那些出现在尖括 ...

  5. Java多线程系列(1)

    本章主要内容有: 1.线程进程的区别 2.线程的生命周期 3.Java内存模型 原子性,可见性及有序性 4.线程池及Java实现 1. 线程进程的区别 线程:程序运行的最小单位 进程:资源分配的最小单 ...

  6. jenkins定位GitLab推送的最新Webhook中push event来自哪一个分支

    转载请标明出处:http://www.cnblogs.com/zblade/ 一.调研目的 jenkins可以和GitLab搭档,每当GitLab上有commit的时候,都可以触发jenkins执行相 ...

  7. C++ 编程技巧笔记记录(持续更新)

    C++是博大精深的语言,特性复杂得跟北京二环一样,继承乱得跟乱伦似的. 不过它仍然是我最熟悉且必须用在游戏开发上的语言,这篇文章用于挑选出一些个人觉得重要的条款/经验/技巧进行记录总结. 文章最后列出 ...

  8. BugkuCTF~代码审计~WriteUp

    第一题:extract变量覆盖 知识简介 extract()函数语法: extract(array,extract_rules,prefix) 参数 描述 array必需. 规定要使用的数组. ext ...

  9. etcd v3集群备份和恢复

    官方文档 https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/recovery.md 一.运行3个etcd节点 我们用 ...

  10. 【大数据安全】基于Kerberos的大数据安全验证方案

    1.背景 互联网从来就不是一个安全的地方.很多时候我们过分依赖防火墙来解决安全的问题,不幸的是,防火墙是假设"坏人"是来自外部的,而真正具有破坏性的攻击事件都是往往都是来自于内部的 ...