与我们合作
我们专注:网站策划设计、网络多媒体传播、网站优化及网站营销、品牌策略与设计
主营业务:网站建设、移动端微信小程序开发、VI设计、网络运营、云产品·运维解决方案
有一个品牌项目想和我们谈谈吗?
您可以填写右边的表格,让我们了解您的项目需求,这是一个良好的开始,我们将会尽快与您取得联系。当然也欢迎您给我们写信或是打电话,让我们听到您的声音
您也可通过下列途径与我们取得联系:
地 址: 深圳.龙岗区大运软件小镇11栋3楼
电 话: 138 2888 4598 / 138 0880 9053
网 址: http://www.appvx.cn
快速提交您的需求 ↓
准备条件
一台服务器
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 欣赏案例
- 查看经典案例