App开发之服务器框架搭建
漂泊80
共 3319字,需浏览 7分钟
· 2020-11-20
关于服务器,在原有express上稍加改动。
增加 conf目录,创建config.js
var logger = require('../utils/log4jsutil').logger(__dirname+'/config.js');
var server = {
sms:'',//短信 ali 阿里 jpush 极光
push:true,//推送
validate:true,//验证码
mysqldb:'default',//'default' 默认 'docker' 阿里云'ali'
app_name:'phelper',
}
/**
* http服务器
*/
server.http_post = 9201;
/**
* 匹配服务器
*/
server.socket_match_post = 9104;
/**
* 猜诗聊天服务器
*/
server.socket_gp_chats_post = 8888;
server.socket_guess_post = 9201;
server.debug = 'debug';
server.ali = 'ali';
server.tencent = 'tencent';
server.env = server.debug;
// server.env = server.ali;
// server.env = server.tencent;
if(server.env == server.ali){
server.sms = 'ali';
server.push = true;
server.validate = true;
server.mysqldb = 'ali';
}else if(server.env == server.tencent){
server.sms = 'ali';
server.push = true;
server.validate = true;
server.mysqldb = 'tencent';
}else{
// server.sms = 'ali';
}
//配置项
module.exports = {
server,
};
bin/www中稍加改动,使用配置文件中的端口
var server_conf = require('../conf/config').server;
var http_post = server_conf.http_post;
/**
* Get port from environment and store in Express.
*/
var port = normalizePort(process.env.PORT || http_post);
创建daos目录,用来存放数据库操作
创建push目录,用来存放推送
创建test目录,用来存放一些测试单元
创建utils,用来存放工具集
utils目录下,创建log4jsutil.js,封装日志工具类
/**
* 日志工具
* logger.trace('This is an index page! -- log4js');
* logger.debug('This is an index page! -- log4js');
* logger.info('This is an index page! -- log4js');
* logger.warn('This is an index page! -- log4js');
* logger.error('This is an index page! -- log4js');
* logger.fatal('This is an index page! -- log4js');
*/
var log4js = require('log4js');
const fs = require('fs');
levels = {
'trace': log4js.levels.TRACE,
'debug': log4js.levels.DEBUG,
'info': log4js.levels.INFO,
'warn': log4js.levels.WARN,
'error': log4js.levels.ERROR,
'fatal': log4js.levels.FATAL
};
function judgePath(pathStr) {
if (!fs.existsSync(pathStr)) {
fs.mkdirSync(pathStr);
// console.log('createPath: ' + pathStr);
}
}
log4js.configure({
// appenders:[
// //控制台输出
// {"type": "console"},
// {type: 'dateFile',
// //文件名为= filename + pattern, 设置为alwaysIncludePattern:true
// filename: 'logs/', // 需要手动创建此文件夹
// pattern: 'yyyy-MM-dd.log',
// //包含模型
// alwaysIncludePattern: true,
// }],
// replaceConsole: true // 替换 console.log
appenders: {
out: { type: 'stdout' },
file: {
type: 'dateFile',
//文件名为= filename + pattern, 设置为alwaysIncludePattern:true
filename: 'logs/phelper', // 需要手动创建此文件夹
pattern: 'yyyy-MM-dd.log',
//包含模型
alwaysIncludePattern: true,
}
},
categories: {
default: { appenders: ['out','file'], level: 'debug' }
}
})
exports.logger = function (name, level) {
name = name.replace(process.cwd(),'');
var logger = log4js.getLogger(name);
//默认为debug权限及以上
logger.level = levels[level] || levels['debug'];
return logger;
};
exports.use = function (app, level) {
//加载中间件
app.use(log4js.connectLogger(log4js.getLogger('logInfo'), {
level: levels[level] || levels['debug'],
//格式化http相关信息
format: ':method :url :status'
}));
};
安装log4js
npm install log4js
总体概览
评论
SuperSocketSocket服务器开发框架
SuperSocket是一个轻量级的可扩展的Socket开发框架,可用来构建一个服务器端Socket程序,而无需了解如何使用Socket,如何维护Socket连接,Socket是如何工作的。该项目使用
SuperSocketSocket服务器开发框架
0
CocoaHTTPServerHTTP 服务器框架
CocoaHTTPServer是一个用于MacOSX或iOS应用的轻量级、可嵌入的HTTP服务器框架。有时候开发者需要在他们的App中内嵌一个HTTP服务器。无论是具有远程监控功能的服务器应用,还是使
CocoaHTTPServerHTTP 服务器框架
0
core-ngWeb APP 框架
core-ng是一个WebAPP框架,它只是用来支持我们自己的项目,而不是通用的web框架。它的开发工作还在进行中,所以所有的API会更改,请记住。
core-ngWeb APP 框架
0
AppServer基于 Sanic 搭建的 App 在线下载、安装服务器
简介基于Sanic搭建的简单App在线下载、安装服务器。可在线下载安装包,或者iPhone在线安装ipa。前言平时都在使用fir,但是公司网速有时候很蛋疼,安装包体积一大,就安装个10多分钟都搞不定。
AppServer基于 Sanic 搭建的 App 在线下载、安装服务器
0
Monibuca流媒体服务器开发框架
Monibuca是一个开源的流媒体服务器开发框架,适用于快速定制化开发流媒体服务器,可以对接CDN厂商,作为回源服务器,也可以自己搭建集群部署环境。丰富的内置插件提供了流媒体服务器的常见功能,例如rt
Monibuca流媒体服务器开发框架
0