文件服务后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

56 line
1.6 KiB

  1. /**
  2. * rongxin.gov.rgvn.dashboard.tiandeng
  3. */
  4. 'use strict'
  5. const logFactory = require('./utils/logFactory')
  6. const logUtil = require('./utils/logUtil')
  7. const debug = logFactory(logUtil())('rongxin.gov.rgvn.dashboard.tiandeng')
  8. const express = require('express')
  9. const http = require('http')
  10. const config = require('config')
  11. const env = require('./services/env')
  12. const program = require('commander')
  13. //====================
  14. // program parser
  15. // ====================
  16. program
  17. .version('1.0.0')
  18. .usage('[options] ')
  19. .option('-h, --hostname [hostname]', 'Hostname or IP address for the service to bind, if not presented, use the one specfied in conf file')
  20. .option('-p, --port [port]', 'The service listening port, if not presented, use the one specified in conf file')
  21. .option('-l, --log-level [log-level]', 'The service log-level')
  22. .option('-m, --mode [mode]', 'The service process mode, production, stage or test')
  23. .parse(process.argv)
  24. let transportConf = {
  25. host: program.hostname,
  26. port: program.port
  27. }
  28. const bootstrap = require('nongfu.merchant.bootstrap')
  29. const app = express()
  30. env.setServerMode(app.get('env'))
  31. const router = require('./routes')
  32. app.use('/', router)
  33. bootstrap.init((error, result) => {
  34. if (error)
  35. process.exit(1)
  36. let hostInEnv = process.env.NODE_HOSTNAME
  37. let portInEnv = process.env.NODE_PORT
  38. let host = hostInEnv || transportConf.host || config.get('server').host
  39. let port = portInEnv || transportConf.port || config.get('server').port
  40. let server = http.createServer(app)
  41. server.listen(port, host)
  42. debug.info(`Server start up on listening [host:${host}, port:${port}]`)
  43. })