从本地部署mongo到服务器

时间:2020-03-08 21:55:53

标签: node.js express mongoose

我正在尝试连接到已在本地计算机上运行的API,但无法在生产服务器上访问。

它在mongoose上的node.js上运行,并且我已将服务器设置为侦听端口3000。

当我在邮递员中测试时: http://178.128.37.170:3000/

我收到以下答复:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>Error</title>
</head>

<body>
    <>Cannot GET /</>
</body>

</html> 

我在路由器中创建了一个“ Hello world”响应: app.get('/',(req,res)=> res.send('Hello World!'))

我不确定这是在端口,防火墙或IP问题还是其他方面阻止了。 我已经禁用了Apache和SSL,以防它们干扰。

这是我的server.js文件:

var express = require('express'),
    cors = require('cors'),
    app = express(),
    port = process.env.PORT || 3000,
    mongoose = require('mongoose'),
    Supporter = require('./api/models/todoListModel'), //created model loading here
    bodyParser = require('body-parser'),
    helmet = require('helmet');

// Test SSL connection
var MongoClient = require('mongodb').MongoClient;

// mongoose instance connection url connection
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost/Tododb');  // was tododb

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

app.use(helmet());

app.use(cors());

app.get('/task/', function (req, res, next) {
    res.json({msg: 'This is CORS-enabled for all origins!'})
})

var routes = require('./api/routes/todoListRoutes');
routes(app); //register the route

app.listen(port);

console.log('Supporter RESTful API server started on: ' + port);

接下来我应该尝试什么?

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。不知何故,我的Mongo数据库已从服务器中删除,但这是另一个故事!

在我的server.js中,添加了以下内容: app.get('/', (req, res) => res.send('Hello World!'))

这使我能够确定快递服务于终点。

然后我拨通mongo并重新创建数据库,并最终找到了可行的路由。