Nodejs RestAPI在本地主机上运行,​​但不在服务器上运行

时间:2018-09-20 10:49:18

标签: node.js deployment server network-programming ubuntu-16.04

我开发了一个Node.js RestAPI与MongoDB数据库进行通信。在使用localhost进行开发时,一切正常,但是现在我需要将其部署到服务器上,以便用户可以对其进行测试。

服务器正在运行Ubuntu 16.04,并且我已经成功安装了所需的软件(Node.js和MongoDB),并且能够启动服务器,但是,我无法使用客户端发出任何请求。< / p>

如果我对服务器执行ping操作,则可以得到响应。我的Node.js RestAPI在端口4000上运行。

有什么主意我可能做错了什么或者我可能忘记了什么?这是我第一次部署到服务器。

我的server.js文件是:

const port = 4000

const bodyParser = require('body-parser')
const express = require('express')

const jwt = require('jsonwebtoken')
const cors = require("cors")
const mongoose = require('mongoose')
const databaseConfig = require('./database')

const server = express()

server.use(cors())
server.options('*', cors());

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

server.set('superSecret', databaseConfig.secret)

server.listen(process.env.port || port, function () {
    console.log('Listening')
})

mongoose.connect(databaseConfig.database, function(err, db) {
    if (err) {
        console.log('Unable to connect to the server. Please start the server. Error:', err);
    } else {
        console.log('Connected to Server successfully!');
    }
});

module.exports = server

感谢您的帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

要阻止任何人浪费时间在这个话题上,原来我大学的那个应该让主机IP公开的员工却忘了这么做!那是问题,没有别的。