Пример #1
0
function start () {
    if (handler) {
        handler.close();
    };

    // create express app
    app = express();

    // set config
    config.use(process.env.NODE_ENV);
    app.set('env', config.ENV);

    // configure logger
    winston.cli();
    winston.level = config.LOG_LEVEL || 'silly';

    // configure mysql
    mysql.set_logger(winston)
        .add('master', config.DB);


    winston.log('info', 'Starting', config.APP_NAME, 'on', config.ENV, 'environment');

    // configure express app
    app.set('case sensitive routing', true);
    app.set('x-powered-by', false);

    winston.log('verbose', 'Binding 3rd-party middlewares');
    app.use(require('morgan')('combined', {stream: util.get_log_stream(config.LOGS_DIR)}));
    app.use(express.static(config.ASSETS_DIR));
    app.use(require('method-override')());
    app.use(body_parser.urlencoded({extended: false}));
    app.use(body_parser.json());
    app.use(require('compression')());

    // configure redis store
    app.use(session({
        store: new RedisStore(),
        secret: 'keryboard cat'
    }));

    // configure directory
    sh.exec('mkdir -p uploads/csv');
    sh.exec('mkdir -p uploads/teachers/pictures');
    sh.exec('mkdir -p uploads/students/pictures');

    winston.log('verbose', 'Binding custom middlewares');
    app.use(require('anytv-node-cors')(config.CORS));
    app.use(require(__dirname + '/lib/res_extended')());
    app.use(require(__dirname + '/config/router')(express.Router()));
    app.use(require('anytv-node-error-handler')(winston));

    winston.log('info', 'Server listening on port', config.PORT);

    return app.listen(config.PORT);
}
Пример #2
0
    redis_store_session = new redis_store({
        host: 'localhost',
        port: 6379,
        client: redis.createClient()
    });

logger.log('info', 'Starting', config.APP_NAME, 'on', config.ENV, 'environment');

app.disable('x-powered-by');

app.set('views', config.VIEWS_DIR);
app.set('view engine', 'jade');

logger.log('verbose', 'Binding 3rd-party middlewares');

app.use(require('morgan')('combined', {stream: util.get_log_stream(config.LOGS_DIR)}));
app.use(require('method-override')());
app.use(body_parser.urlencoded({extended: true}));
app.use(require('compression')());

logger.log('verbose', 'Binding custom middlewares');
app.use(require('anytv-node-cors')(config.CORS));
app.use('/assets', express.static(__dirname + '/views/assets'));

app.use(cookie_parser(config.SESSION_SECRET));
app.use(session({
    name: 'connect.comment.sid',
    cookie: {
        maxAge: 6000000
    },
    secret: config.SESSION_SECRET,