--该代码是nodejs启动时的一段。
--代码注释尚未补全,已有注释不当之处还望不吝赐教
/** * Module dependencies. */ var app = require('../app'); var debug = require('debug')('untitled:server'); var http = require('http'); /** * Get port from environment and store in Express. * 80端口看自己需要可修改 */ var port = normalizePort(process.env.PORT || '80'); app.set('port', port); /** * Create HTTP server. */ var server = http.createServer(app); /** * Listen on provided port, on all network interfaces. *开启监听-可指定端口号和IP *这里注意若服务器hosts文件没有做127.0.0.1和localhost的映射那么可能需要下面的IP,否则你懂得 *感谢@IPPP *至于公网映射推荐ngrok工具 */ server.listen(port,'127.0.0.1'); console.log("服务已启动~~~"); //服务出错执行onError函数 server.on('error', onError); //服务监听状态及其地址端口信息-尚未知晓如何使用! server.on('listening', onListening); /** * Normalize a port into a number, string, or false. */ function normalizePort(val) { var port = parseInt(val, 10); if (isNaN(port)) { // named pipe return val; } if (port >= 0) { // port number return port; } return false; } /** * Event listener for HTTP server "error" event. */ function onError(error) { if (error.syscall !== 'listen') { throw error; } var bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port; // handle specific listen errors with friendly messages switch (error.code) { case 'EACCES': console.error(bind + ' requires elevated privileges'); //进程终止 process.exit(1); break; case 'EADDRINUSE': console.error(bind + ' is already in use'); process.exit(1); break; default: throw error; } } /** * Event listener for HTTP server "listening" event. */ function onListening() { var addr = server.address(); var bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port; debug('Listening on ' + bind); console.log('Listening on ' + bind); }
---------------------------------------------------------------------------------------------------------------------
*、@IPPP
解决IP问题的灵感来源于 https://my.oschina.net/tearlight/blog/195543 很棒 曾经出现的问题是:不提供hostname只能使用localhost访问,后来不提供也能通过三种方式访问,很奇怪的说!