准备条件
一台服务器
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
本文向大家介绍Laravel 微信小程序后端搭建步骤详解,包括了Laravel 微信小程序后端搭建步骤详解的使用技巧和注意事项,需要的朋友参考一下 1. 新建个 laravel 项目 2. 执行命令运行起站点来 3. 登录装着 mysql 服务的远程服务器,创建数据库及用户名 (1)登录 ssh root@218.45.23.456 (2)登录 mysql 输入命令 mysql -u root -
问题内容: 多年来,由于这篇文章引起了很多关注,因此我在文章的底部列出了每个平台的最佳解决方案。 原始帖子 : 我希望我的node.js服务器在后台运行,即:当我关闭终端时,我希望服务器继续运行。我已经用谷歌搜索并提出了本教程,但是它没有按预期工作。因此,我没有使用该守护程序脚本,而是以为我只使用了输出重定向(该`2>&1 file`部分),但这也不会退出-我在终端中出现空白行,就像它在等待输出/
本文向大家介绍phpStudy搭建服务器教程,包括了phpStudy搭建服务器教程的使用技巧和注意事项,需要的朋友参考一下 phpStudy是一个PHP调试环境的程序集成包。 该程序包集成最新的 Apache+Nginx+LightTPD PHP MySQL+phpMyAdmin Zend Optimizer Zend Loader 一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。
本文向大家介绍vue+element搭建后台小总结 el-dropdown下拉功能,包括了vue+element搭建后台小总结 el-dropdown下拉功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了el-dropdown下拉功能的具体代码,供大家参考,具体内容如下 功能:点击el-dropdown 下拉 下拉的数据 从后台获取 遍历到界面上 且多个el-dropdown下拉
本文向大家介绍Node.js搭建WEB服务器的示例代码,包括了Node.js搭建WEB服务器的示例代码的使用技巧和注意事项,需要的朋友参考一下 前言 这几天为了熟悉vue.js框架,还有webpack的使用,就准备搭建一个发布和浏览markdwon的简单WEB应用。原本是想着用bash脚本和busybox的httpd来作为后台服务,但是bash脚本解析和生成JSON非常不方便,而用Java语言写又
我用node写了一个工具,如何做到,让用户npm全局安装后,运行直接是后台运行,不需要使用类似pm2之类的工具? 类似Whistle这样的https://www.npmjs.com/package/whistle