下面给出一个样例配置:

JavaScript

module.exports = {

enableCluster: true,

database: {

db: "snpm",

username: "username",

password: "password",

dialect: "mysql",

host: "127.0.0.1",

port: 3306

},

enablePrivate: false,

admins: {

xadillax: "i@2333.moe"

},

syncModel: "exist",

nfs: require('upyun-cnpm').create({

bucket: "your bucket",

oprator: "your id",

password: "your secret"

}),

scopes: [ '@cheniu', '@souche', '@souche-f2e' ],

badgeSubject: 'snpm',

privatePackages: [ 'snpm' ]

};

(译注:兄弟连教育www.itxdl.cn在这里提醒您,上面的配置包文件系统层用的是 upyun-cnpm 插件,需要在 CNPM 源码根目录执行)

$ npm install --save -d upyun-cnpm

这个时候你的 package.json 就有更改与源 Repo 不一致了,如果是 Git 克隆的用户在以后升级更新系统的时候稍稍注意一下可能的冲突即可。

下面给出几个官方的 NFS 插件:

upyun-cnpm:包本体存在又拍云的插件;

fs-cnpm:包本体存在本地的插件;

sfs-client:包本体存在 SFS(Simple FIle Store)插件;

qn-cnpm:包本体存在七牛的插件;

oss-cnpm:包本体存在阿里云 OSS 的插件。

以后官方如果有一些新的插件进来,这里可能不会更新了,请自行去 NFS Storage Wrappers 获取最新的 NFS 插件们。

初始化数据库

如果你使用的是 SQLite 的话,数据库是自动就好了的,可以忽略该步。

其它数据库需要自行导入初始数据库结构。

初始数据库脚本在 docs/db.sql 里面,你可以用一些 GUI 工具将数据导入,也可以直接进入命令行导入。

比如你用的是 MySQL,就可以在本机操作 MySQL。

$ mysql -u yourname -p

mysql> use cnpmjs;

mysql> source docs/db.sql

启动服务

搞好配置之后就可以直接启动服务了。

简单启动

最简单的办法也是我现在正在用的方法就是直接用 node 执行一下入口文件就好了。

$ node dispatch.js

其实我是在 tmux 里面执行上面的指令的。

官方脚本启动

官方的其它一些指令,比如你可以用 NPM 的 script 来运行。

$ npm run start

在 CNPM 里面,npm script 还有下面几种指令

npm run dev:调试模式启动;

npm run test:跑测试;

npm run start:启动 CNPM;

npm run status:查看 CNPM 启动状态;

npm run stop:停止 CNPM。

配置CNPM-基础案例的更多相关文章

  1. Spring Boot 2.x 基础案例:整合Dubbo 2.7.3+Nacos1.1.3(配置中心)

    本文原创首发于公众号:Java技术干货 1.概述 本文将Nacos作为配置中心,实现配置外部化,动态更新.这样做的优点:不需要重启应用,便可以动态更新应用里的配置信息.在如今流行的微服务应用下,将应用 ...

  2. SpringBoot2.0 基础案例(12):基于转账案例,演示事务管理操作

    本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.事务管理简介 1.事务基本概念 一组业务操作ABCD,要么全部 ...

  3. _00017 Kafka的体系结构介绍以及Kafka入门案例(0基础案例+Java API的使用)

    博文作者:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...

  4. [Android] 环境配置之基础开发环境(SDK/Android Studio)(转)

    [Android] 环境配置之基础开发环境(SDK/Android Studio)   博客: blog.csdn.net/qiujuer 网站: www.qiujuer.net 开源库: Geniu ...

  5. 【RL-TCPnet网络教程】第25章 DHCP动态主机配置协议基础知识

    第25章      DHCP动态主机配置协议基础知识 本章节为大家讲解DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),通过前面章节对TCP和UDP ...

  6. 第六节,TensorFlow编程基础案例-保存和恢复模型(中)

    在我们使用TensorFlow的时候,有时候需要训练一个比较复杂的网络,比如后面的AlexNet,ResNet,GoogleNet等等,由于训练这些网络花费的时间比较长,因此我们需要保存模型的参数. ...

  7. 学习Struts--Chap03:struts.xml常用配置(基础)

    1.package属性 name:包名 用来唯一的指定一个package.package可以扩展,当一个package扩展自 另一个package时该package会在本身配置的基础上加入扩展的pac ...

  8. Linux下配置Squid基础教程

    Linux下配置Squid基础教程 本视频高清下载地址:http://down.51cto.com/data/437529 本文出自 "李晨光原创技术博客" 博客,请务必保留此出处 ...

  9. springcloud费话之配置中心基础(SVN)

    目录: springcloud费话之Eureka基础 springcloud费话之Eureka集群 springcloud费话之Eureka服务访问(restTemplate) springcloud ...

  10. hadoop搭建一:虚拟机网络配置和基础(未完成)

    基于VMware 15+CentOS 7+Hadoop 2.6,hadoop的搭建主要用于个人学习,水平有限. hadoop搭建一:虚拟机网络配置和基础 hadoop搭建二:hadoop全分布搭建 h ...

随机推荐

  1. 傅里叶变换 - Fourier Transform

    傅里叶级数 傅里叶在他的专著<热的解析理论>中提出,任何一个周期函数都可以表示为若干个正弦函数的和,即: \[f(t)=a_0+\sum_{n=1}^{\infty}(a_ncos(n\o ...

  2. Python接口自动化测试 HTTP协议

    一.HTTP协议简述 二.URL 三.请求 四.响应 五.消息报头 六.常见问题

  3. Node 定时器详解

    JavaScript 是单线程运行,异步操作特别重要. 只要用到引擎之外的功能,就需要跟外部交互,从而形成异步操作.由于异步操作实在太多,JavaScript 不得不提供很多异步语法.这就好比,有些人 ...

  4. eclipse中maven的run as打war包失败的问题

    场景一: 由于某些原因,有的时候需要暂时在断网的情况下,或者更标准的说,是在连不上公司的maven公有仓库的情况下打包. 很长一段时间,我打包都是在eclipse中用run as在线打包,直到前不久一 ...

  5. 奶瓶beini系统

    奶瓶(beini)这个系统,是一款基于 Tiny Core Linux 搭建的无线网络安全测试系统,当然由于它是用来安全测试的系统,因此在安全方面自然有着强大的功能.而且,这个系统非常简便易学,因此现 ...

  6. Java StringBuilder 和 StringBuffer 源码分析

    简介 StringBuilder与StringBuffer是两个常用的操作字符串的类.大家都知道,StringBuilder是线程不安全的,而StringBuffer是线程安全的.前者是JDK1.5加 ...

  7. (十七)java冒泡排序和compareto

    java中的排序有:冒泡排序.快速排序.选择排序.插入排序和希尔排序,还有基数排序.鸡尾酒排序.桶排序.鸽巢排序.归并排序等.     冒泡排序法:利用双重for循环,重复走访要排序的数列,两两比较大 ...

  8. Monkeyscript---获取包名主界面名和位置坐标

    一.monkey随机事件有三类:点击.输入.手势 二.Monkeyscript难点:如何获取坐标 三.Monkeyscript API: 1.轨迹球(手势)事件: DispatchTrackball( ...

  9. freemarker中的if...elseif...else语句(七)

    freemarker中的if...elseif...else语句 1.设计示例 <#if student.studentAge lt 12> ${student.studentName}不 ...

  10. UniCode 下 CString 转 char* 的方法(转)

    转自:http://blog.csdn.net/neverup_/article/details/5664733 今天进行文件操作时,将CString的GetBuffer()后直接倒到char数组后写 ...