Http服务器nodejs正在运行但不工作

我正在尝试为nodejs运行http-server。

使用npm start ,服务器将在给定的端口(8000)上启动,并带有一些可忽略的错误。 但是,当我尝试运行应用程序的url,它说'网页不可用'。 当我试图ping IP时,它通过完美地发送数据包来响应。

当我运行http-server命令时,显示它在127.0.0.1:8080和172.31.46.121:8080上运行。 我尝试将本地端口端口更改为8080,但结果没有任何区别。

我正在使用腻子客户端在Windows上运行Linux。

nodejs版本 -5.4.1

npm版本 -3.7.0

请帮忙..

还有一件事..

我运行这个服务器上的putty端口80.然后与服务器仍在运行我试图运行相同的nodejs服务器使用Bitnami客户端(即使用npm start )在同一个端口(80), 没有端口冲突 。 当我通过Bitnami客户端运行时,即使应用程序在该端口上运行良好。

http-server文件代码 –

 ` #!/usr/bin/env node var colors = require('colors'), httpServer = require('../lib/http-server'), argv = require('optimist').argv, portfinder = require('portfinder'), opener = require('opener'); if (argv.h || argv.help) { console.log([ "usage: http-server [path] [options]", "", "options:", " -p Port to use [8080]", " -a Address to use [0.0.0.0]", " -d Show directory listings [true]", " -i Display autoIndex [true]", " -e --ext Default file extension if none supplied [none]", " -s --silent Suppress log messages from output", " --cors Enable CORS via the 'Access-Control-Allow-Origin' header", " -o Open browser window after staring the server", " -c Set cache time (in seconds). eg -c10 for 10 seconds.", " To disable caching, use -c-1.", " -h --help Print this list and exit." ].join('\n')); process.exit(); } var port = argv.p || parseInt(process.env.PORT, 10), host = argv.a || '0.0.0.0', log = (argv.s || argv.silent) ? (function () {}) : console.log, requestLogger; if (!argv.s && !argv.silent) { requestLogger = function(req) { log('[%s] "%s %s" "%s"', (new Date).toUTCString(), req.method.cyan, req.url.cyan, req.headers['user-agent']); } } if (!port) { portfinder.basePort = 8080; portfinder.getPort(function (err, port) { if (err) throw err; listen(port); }); } else { listen(port); } function listen(port) { var options = { root: argv._[0], cache: argv.c, showDir: argv.d, autoIndex: argv.i, ext: argv.e || argv.ext, logFn: requestLogger }; if (argv.cors) { options.headers = { 'Access-Control-Allow-Origin': '*' }; } var server = httpServer.createServer(options); server.listen(port, host, function() { log('Starting up http-server, serving '.yellow + server.root.cyan + ' on port: '.yellow + port.toString().cyan); log('Hit CTRL-C to stop the server'); if (argv.o) { opener('http://127.0.0.1:' + port.toString()); } }); } if (process.platform !== 'win32') { // // Signal handlers don't work on Windows. // process.on('SIGINT', function () { log('http-server stopped.'.red); process.exit(); }); } 

`

请提供一些代码,出于纯粹的猜测,可能存在绑定IP的问题。 您可能会将您的服务器的IP地址绑定到只能从locahost访问的127.0.0.1,将其更改为0.0.0.0以允许从外部访问。

 var http = require('http'); http.createServer(function(req, res) { res.writeHead(200, { 'content-type': 'text/plain' }); res.end('It works'); }).listen(3000, '0.0.0.0');