发布json时,AWS CentOS 7上的节点崩溃



我有一个非常简单的应用程序,它已经在不同风格的Linux和windows上使用了一年多。唯一的区别是,我在AWS上旋转了一个盒子,该盒子使用CentOS版本7.7.1908,带有Mongo 4.2.5Node 12.16.0。我目前在Windows 10和CentOS 8上运行完全相同的代码。我也在Ubuntu上运行过。没有问题。

在AWS盒子上,我可以启动Mongo(读写(并执行一个节点文件。所以我知道服务是有效的。

但是,从Postman开始,我达到了一个端点,目标是将JSON写入数据库。当执行user_find时,它会立即失败。我已经追踪到下面的代码。

发现了它失败的地方:我已经删除了所有的代码,只想写到控制台,看看它是否达到了那个程度

controller.users.js

const User      = require('../models/user');
const mongoose  = require('mongoose');
const bcrypt    = require('bcrypt'); 
console.log('Controller Read');   //This displays in the console when the app is launched. It also proves the routing is correct as well.
exports.user_find = (req, res, next) => {
console.log('User Find Activated');   //When I try to send data the app fails and never gets this message.
}

我在想,也许我的模块版本正在战斗。我降级了一些,但没关系。这就是我目前拥有的

"dependencies": {
"bcrypt": "^4.0.1",
"body-parser": "^1.19.0",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"mongoose": "^5.9.7",
"morgan": "^1.10.0",
"nodemon": "^2.0.3"
}

**这是我的应用程序代码。

const express    = require('express');
const app        = express();
const morgan     = require('morgan');
const bodyParser = require('body-parser');
const mongoose   = require('mongoose');
// Application Routes
const customerRoutes  = require('./api/routes/customers');
const orderRoutes     = require('./api/routes/orders');
const userRoutes      = require('./api/routes/users');
mongoose.connect('mongodb://127.0.0.1:27017', { dbName: 'myDB', useNewUrlParser: true, useUnifiedTopology: true }).
then(() => console.log('db Connected')).
catch(err => console.log('Caught', err.stack));
//For Dev purposes
app.use(morgan('dev'));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
//This piece of code deals with CORS errors
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization');
if (req.method === 'OPTIONS') {
res.header('Access-Control-Allow-Methods', 'PUT','POST','PATCH','DELETE');
return res.status(200).json({});
}
next();
});
//Routes to handle requests
app.use('/customers', customerRoutes);
app.use('/orders', orderRoutes);
app.use('/users', userRoutes);
app.use((req, res, next) => {
const error = new Error( 'App Crash' );
error.status = 404;
next(error);
});
app.use((error, req, res, next) => {
res.status(error.status || 500);
res.json({error: {message: error.message}
});
});

module.exports = app;

在mongod.conf中,我也评论了BindIP。它对任何东西当应用程序启动时,我会连接一个数据库,以便了解它作品

这就是当你整晚都在编程时会发生的事情,我在一篇寻求帮助的帖子中竭尽全力。打个盹。。。瞧!问题是,我在邮递员的URL中有一个O类型。代码没有问题。

最新更新