把坑填平系统之:
Windows开发环境 Meteor + MongoDB 独立环境部署团队多端协作开发配置从入门到把坑填平
区别于Meteor的内置MongoDB单人单项目绑定开发模式,采用独立MongoDB,多项目同时接入统一数据库,实现多项目多端同源开发模式。
宗旨:团队协作开发,多端同源。
开发环境规划:
1: 数据库系统 -- Windows 10 x64 位
2: 开发系统 -- Windows 10 x64 位 (或任意系统均可)
3: 环境 -- NodeJs 9.x 最新版本 + NPM 5.x 最新 *随时升级最新
4: Meteor1.6 -- 最新 *随时升级最新
5: MongoDB3.6 -- 社区版
6: 管理 -- Robo 3T
7: 开发 -- CMD + Webstorm
部署目的:
以数据库独立主机为基础接入多个 Meteor 项目,使数据库与开发项目隔离,配置公共数据库,由多个项目共同使用,Metoer Web 项目 和 APP 项目都以这台服务器为 中心 生产运行。
结果:
1: 可不断增加新的项目接入,保留数据内容
2: 统一数据库管理,并在开发环境进行数据库第三方图形界面管理
3: 采用 Windows 纯净 CMD 环境 进行 Metoer 开发
实操:
1. 独立MongoDB安装
进入官网下载最新版 3.6社区版,传送门,选择Windows 版本,点击下载,安装说明可参考最新官方指南,传送门,如图1.1所示:
下载完成后,点击安装,如图1.2所示:
点击 Complete,进行完整安装,如图1.3所示:
进入正式安装环节,如图1.4所示:
安装完成,如图 1.5 所示:
完整版本安装了Compass工具,可以进行图形界面链接管理,如图 1.6 所示:
开始配置,如图1.7 所示:
配置主机,端口,管理员用户名和密码,如果需要副本和SSL可以继续配置,如图 1.8 所示:
如果连接不上,提示,没有运行,继续,我们需要进行MongoDB的配置。
2、MongoDB配置
配置本地数据库存放目录,创建目录,db 存放数据,log存放日志:
D:\mongodb\data\db
D:\mongodb\data\log\mongod.log
注意文件需要事先创建,名称为 mongod,不要写成 mongodb,
重要的一步来了,要来了要来了,在mongodb 安装目录创建 mongod.cfg 文件,注意默认在这里是没有权限的,可以在其它位置创建好文件后,粘贴过来,用webstorm或记事本打开,输入以下内容:
systemLog:
destination: file
path: d:\mongodb\data\log\mongod.logstorage:
dbPath: d:\mongodb\data\db
注意格式,完成后如图 1.9 所示:
补充知识:如果文件编辑没有权限,请按以下操作,给予用户权限,首先在 mongod.cfg 文件上【右键】-->【属性】,打开属性控制面板,在安全选项卡中点击【编辑】,在弹出的对话框中选择【添加】,如图1.10 所示:
继续,点击【高级】--> 【立即查找】,在搜索结果中找到 你当前的用户名,如图 1.11 所示:
如何知道使用的是哪个用户名?在开始菜单,即可看到,如图 1.12 所示:
继续继续,确认后,关闭用户查找对话框,在上一个权限设置对话框中将允许打上勾,如图 1.13 所示:
关闭所有选项卡即可。
完成以上步骤,以管理员身份打开 CMD 窗口,执行
"C:\Program Files\MongoDB\Server\3.6\bin\mongod.exe" --config "C:\Program Files\MongoDB\Server\3.6\mongod.cfg" --install
如有问题,可先进入 mongodb 安装目录的 bin 文件夹:
C:\Program Files\MongoDB\Server\3.6\bin
执行:
mongod.exe --config "C:\Program Files\MongoDB\Server\3.6\mongod.cfg" --install
完成后,应当如图 1.14 所示:
启动MongoDB:net start MongoDB,执行:
net start MongoDB
如需停止,执行:
net stop MongoDB
如图,1.15 所示:
3、配置环境变量
使用的时候,我们需要在任意目录,直接执行 MongoDB 命令,需要配置系统环境变量,在我的电脑右键--【管理】--【高级系统设置】--【环境变量】,如图1.16 所示:
在系统变量中找到 Path ,追加 MongoDB bin 目录,如图1.17 所示:
依次点击确定,关闭所有对话框,在 CMD 执行 mongo,即进入 MongoDB Shell,如图 1.18 所示:
4、配置数据库用户密码
由于团队协作,对数据库需要进行权限和用户密码的管理,配置数据库用户密码及子项目用户密码,请参考 我的另外一篇文件,在服务器配置 MongoDB 进行用户密码的配置,如图 1.19 所示,如果不需要使用用户密码的,可以跳过。传送门
5、使用第三方管理工具管理数据库
安装Robo 3T,如图 1.20 所示,传送门
选择安装 轻量级免费版本,如图 1.21 所示:
打开 Robo 3T 点击文件,创建一个链接,设置 名字,地址,和端口,如图 1.21 所示,
如果配置了用户密码,打开 Authentication,设置用户密码,如图 1.22 所示:
重点:
连接到服务器,首先,需要在创建数据库,在左侧树形菜单的 localDB上右键,选择 Create Database,即可创建数据库,用 Meteor 连接 的时候也是需要指定数据库名的。
6、创建 Meteor项目并设置数据库链接到独立数据库
在本地创建一个Meteor 项目,打开项目根目录的 package.json 配置文件,默认的 Scripts 如图 1.23 所示:
使用 meteor 即可启动 meteor,但我们现在需要使用外部数据库,修改Scripts 配置为:
"scripts": { "meteor": "set MONGO_URL=mongodb://127.0.0.1:27017/cowhash&&meteor --port 3000"},
如图 1.24 所示:
如果,你没有 scripts 语句,请自行添加
如何知道何时使用内置,何时使用外部数据库,如何随便切换
如果,想使用内置的MongoDB,执行:
meteor
如果,想使用 npm 脚本命令连接 独立 MongoDB 数据库,执行:
npm run meteor
使用内置数据库和外部数据库的区别
如果,执行 meteor reset,那么,只会清除内置 的 MongoDB数据库的数据,而不会清除 独立数据库的数据,独立数据库的数据是单独管理的。
外部数据库可以是远程服务器,也可以是本地,只要IP,用户,密码,端口正确,即可连接
至于,如何协作,分配请自行搭配。
鸣谢:
阮一峰:npm scripts 使用指南