terminalcurl:(7)无法连接到本地主机端口3000:连接被拒绝

我正在使用OSX Elcapitan,10.11.6,当我运行

curl localhost:3000 

要么

 curl localhost:3000 -4 

要么

 curl 0.0.0.0:3000 

要么

 curl -x "" "http://127.0.0.1:3000" 

它总是说:

curl:(7)无法连接到127.0.0.1端口3000:连接被拒绝

 ruby -v 

ruby 2.1.3p242(2014-09-19修订版47630)[x86_64-darwin13.0]

我的代码:

 var http = require('http'), express = require('express'), path = require('path'), MongoClient = require('mongodb').MongoClient, Server = require('mongodb').Server, CollectionDriver = require('./collectionDriver').CollectionDriver; var app = express(); app.set('port', process.env.PORT || 3000); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); var bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({extended: false})); var mongoHost = 'localHost'; var mongoPort = 27017; var collectionDriver; var url = 'mongodb://localhost:27017/mongo-server'; // Use connect method to connect to the server MongoClient.connect(url, function(error, db) { if (error) { console.error(error.message); process.exit(1); } console.log("Connected to MongoDB successfully."); collectionDriver = new CollectionDriver(db); }); app.use(express.static(path.join(__dirname, 'public'))); app.get('/', function (req, res) { res.send('<html><body><h1>Hello World</h1></body></html>'); }); app.get('/:collection', function(req, res) { var params = req.params; collectionDriver.findAll(req.params.collection, function(error, objs) { if (error) { res.send(400, error); } else { if (req.accepts('html')) { res.render('data',{objects: objs, collection: req.params.collection}); } else { res.set('Content-Type','application/json'); res.send(200, objs); } } }); }); app.get('/:collection/:entity', function(req, res) { var params = req.params; var entity = params.entity; var collection = params.collection; if (entity) { collectionDriver.get(collection, entity, function(error, objs) { if (error) { res.send(400, error); } else { res.send(200, objs); } }); } else { res.send(400, {error: 'bad url', url: req.url}); } }); app.post('/:collection', function(req, res) { var object = req.body; var collection = req.params.collection; collectionDriver.save(collection, object, function(err,docs) { if (err) { res.send(400, err); } else { res.send(201, docs); } }); }); app.put('/:collection/:entity', function(req, res) { var params = req.params; var entity = params.entity; var collection = params.collection; if (entity) { collectionDriver.update(collection, req.body, entity, function(error, objs) { if (error) { res.send(400, error); } else { res.send(200, objs); } }); } else { var error = { "message" : "Cannot PUT a whole collection" } res.send(400, error); } }); app.delete('/:collection/:entity', function(req, res) { var params = req.params; var entity = params.entity; var collection = params.collection; if (entity) { collectionDriver.delete(collection, entity, function(error, objs) { if (error) { res.send(400, error); } else { res.send(200, objs); } }); } else { var error = { "message" : "Cannot DELETE a whole collection" } res.send(400, error); } }); app.use(function (req,res) { res.render('404', {url:req.url}); }); http.createServer(app).listen(app.get('port'), function(){ console.log('Express server listening on port ' + app.get('port')); }); 

它看起来像你没有启动你的服务器,或者它运行在一个你期望的端口以外的端口上。

如果这是一个Rails的应用程序, rails c得到它。 如果是其他基于Rack的程序,则需要以另一种方式启动,例如Pow 。