-
Notifications
You must be signed in to change notification settings - Fork 105
/
default_config.js
92 lines (92 loc) · 7.46 KB
/
default_config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
var path = require('path'),
processPath = path.dirname(process.argv[1]);//运行node的目录,这里可以方便替换下面baseDir的__dirname,方便用户自己搭建目录,利用node_modules加载rrestjs
module.exports = {
//通用配置
/*
* 注意,所有的路径配置的前面请加‘/’而后面不要加'/'!
*/
server:'rrestjs',
poweredBy: 'node.js',
listenPort:80,//监听端口,如果配合clusterplus监听多个端口,这里也可以使用[3000, 3001, 3002, 3003]数组形式,rrestjs会智能分析
//baseDir: path.join(__dirname, '/..'), //绝对目录地址,下面的目录配置都是根据这个目录的相对地址,这里是根据config文件进行配置地址
baseDir:processPath,//这里是根据启动nodejs的命令目录来设置baseDir
autoCreateFolders:false,//如果想要以node_modules加载rrestjs,则此项最好选择true,rrestjs会根据config自动创建静态文件目录和缓存目录等目录
favicon:'/favicon.ico', //favicon存放地址
charset: 'utf-8',
autoStatic:'/static', //自动响应静态文件的uri,比如 http://rrestjs.com/static/rrest.jpg 将会自动响应给客户端,为了加速这里只能设置一级目录
staticFolder:'/static', //自动响应静态文件的根目录,比如 http://rrestjs.com/static/rrest.jpg 将返回 baseDir+'/static/rrest.jpg'
staticParse:true,//是否开启静态文件压缩整合功能
staticParseName:'parse',//压缩整合功能的名称,例如用户可以'/static/?parse=/index.body.css|/index.user.css|/user.face.css'压缩整合成一个css响应给客户端
staticParseCacheTime:1000*60*60,//压缩整合缓存时间,1小时
staticParseCacheFolder:'/tmp/static',//缓存整合功能的缓存文件夹
staticParseMaxNumber:10,//整合压缩css或js文件的最大上限,建议不要超过15
uploadFolder:'/tmp/upload', //文件上传的临时目录
postLimit:1024*1024*100,//限制上传的postbody大小,单位byte
connectTimeout:false,//限制客户端连接的时间,false为永远不超时,1000表示客户端和服务端1秒内没活跃则自动切断客户端连接
manualRouter:false,//手动路由,可以在这里设置手动路由的对象,详细见manualRouter.js
autoRouter:false,//自动路由,如果为false则表示关闭,如果为'/controller',则表示默认去controller里寻找文件及方法,例如用户访问/user/face ,去回去controller文件下找到user.js执行face的方法传入req,res对象
//cluster配置
isCluster:false, //是否开启多进程集群
isClusterAdmin:false,//进程监听管理功能是否开启
CLusterLog:false,//是否打开cluster自带的控制台信息,生产环境建议关闭
adminListenPort:20910,//管理员监听端口号
adminAuthorIp:/^127.0.0.1$/,//允许访问管理的IP地址
ClusterNum:1, //开启的进程数
ClusterReload:'/controller',//只有当进程数为1时,进入开发模式,可以监听此文件夹下的改动,包括子文件夹,不用重复 ctrl+c 和 上键+enter
ClusterReloadExcept:['.swo', '.swp', '.swn', '.swx', '.bak'],//排除后缀名是此数组内的文件修改的重启进程
Heartbeat:false, //各个子进程和master进程之间的心跳间隔时间,如果为false表示不进行心跳检测,如果为1000表示每秒进行心跳检测,如果主进程没有收到子进程心跳,则会kill掉此子进程重新打开,防止子进程卡死,建议设置为1-5分钟。
ClusterMaxMemory:false,//各个子进程最大的消耗内存数,如果超过这个上限则会记录错误日志,并且重启该子进程,设置为false表示不检测。建议设置为200MB以上
//静态文件配置
staticMaxAge : 86400000*7, //静态文件的缓存周期,建议设置为7天
staticGetOnly : true, //静态是否只能通过get获取
staticLv2MaxAge : 1000*60*60, //静态文件2级缓存更新周期,建议设置为1小时
staticLv2Number : 10000,//静态文件2级缓存数量,可以根据内存的大小适当调整
//session配置
isSession:false, //是否开启session,开启会影响性能。
syncSession:false,//当多进程时是否开启session同步,开启会影响性能。
sepSession:false,//是否使用分割session,比如使用数组['/client','/admin','/pay']表示三个访问目录使用不同的session
sessionName:'rrSid', //保存session id 的cookie 的name
sessionExpire:false, //false表示会话session,否则填入1000*60,表示session有效1分钟
clearSessionSetInteval:1000*60*60, //自动清理垃圾session时间,建设设置为1小时
clearSessionTime:1000*60*60*24,//会话session超时,建议设置为1天
//session内存存储
sessionDbStore:false,//是否使用mongodb数据库存储session,如果设置为true,则不需要同步session
//deflate和gzip配置
isZlib:true, //是否开启delate和gizp压缩,大并发压缩虽然可以减少传输字节数,但是会影响性能
ZlibArray:['text/plain', 'application/javascript', 'text/css', 'application/xml', 'text/html'], //只压缩数组中的content-type响应
//logger log4js 配置
isLog:false, //是否开启日志,过多的记录日志会影响性能,但是能记录系统运行情况
logLevel:'debug',//['trace','debug','info','warn','error', 'fatal'] 日志等级
logPath:'/mylogs', // "/mylogs" 日志存放目录
logMaxSize:1024*1024*10, //单个日志文件大小
logFileNum:10, //当单个日志文件大小达标时,自动切分,这里设置最多切分多少个日志文件
//Template
tempSet:'jade', //使用哪种页面模版:jade或者ejs
tempFolder :'/view/template', //默认读取模版的根目录
tempHtmlCache:false, //是否开启模版的html缓存,当输出模版需要大量数据库或缓存I/O操作,且实时性要求不高时可以使用
tempCacheTime:1000*60*60,//模版缓存时间
tempCacheFolder:'/tmp/template', //模版缓存 存放目录
//mongodb 配置
isMongodb:false, //是否开启mongodb支持,注意:如果使用数据库存储session,这里必须开启
MongodbIp:'127.0.0.1', //mongodb地址
MongodbRC:false,//如果是false表示不使用mongodb的副本集,否则为字符串,表示副本集的名称
MongodbRChost:[],//表示mongodb副本集的ip:port数组。
MongodbPort:27017, //mongodb端口
MongodbConnectString:false, //是否使用字符串连接,日入nae的连接方法,这个优先级高于地址+端口
MongodbConnectTimeout:1000*30,//连接超时
MongodbMaxConnect:50,//连接池连接数
MongodbDefaultDbName:'rrest',//默认使用的数据库名
poolLogger:false,//是否记录连接池的日志,建议关闭
//自动加载模块 配置
AutoRequire:false, //是否开启模块自动加载,加载只有的模块可以使用 rrest.mod.模块名 来进行调用
ModulesFloder:'/modules', //自动加载模块的存放目录,只读一层目录
ModulesExcept:[''], //自动加载模块目录中例外不加载的模块
//ip地址访问过滤
IPfirewall:false, //是否开启IP过滤,开启会影响性能。
BlackList:true,//如果是true,表示下面这些是黑名单,如果是false,表示下面这些是白名单,路径设置优先级大于IP
ExceptIP:/^127.0.0.1$/, //正则表达式,匹配成功表示此IP可以正常访问,白名单
ExceptPath:[],//例外的路径,如果用户访问这个url路径,无论在不在ip过滤列表中,都可以正常使用,白名单才能使用
NotAllow:'No permission!', //禁止访问响应给客户端的信息
//客户端跨域功能
isClientPipe:false,//如果为true,则提供给客户端跨域请求的功能
}