MongoDB подключается к узлу в стеке AWS Mean - PullRequest
0 голосов
/ 30 августа 2018

В течение нескольких дней я безуспешно пытался подключить мой mongoDB к стеку MEAN. Это работает на AWS световой парус (Битнами). Сам веб-сайт работает нормально, за исключением любых страниц, на которых есть вызов ajax / db, так как база данных не подключает / аутентифицирует мою строку подключения.

Я использую монго, узел, экспресс-часть стека, мне в данный момент не нужно или я не знаю никаких углов. Я подумал, что это будет проще, чем настроить на nodeJS и затем добавить mongoDB отдельно (ну, я попробовал это сначала с похожими проблемами), я собираюсь изучать angualar в будущем, так что это, вероятно, лучше в долгосрочной перспективе. Настройка на стороне сервера в настоящее время является слабым местом.

Я использую мангуст для связи. Я могу получить доступ к базе данных, используя: mongo admin - имя пользователя root -p пароль через SSH.

Я также могу получить доступ к БД через Rockmongo SSH. В настоящее время в базе данных есть только один пользователь-администратор, то есть root.

Мой начальный файл сервера / запуска находится ниже:

server.js

const app = require('/opt/bitnami/apps/MYAPP/app.js');

require('dotenv').config({ path: 'variables.env' });

const mongoose    = require("mongoose");

mongoose.Promise = global.Promise;  

mongoose.connect(process.env.DATABASE_CONN);

app.listen(3000,function(){
   console.log("Server has started!");
 });

variables.env

DATABASE_CONN = mongodb://root:password@127.0.0.1:27017/MYAPPDATABASE

Я также перепробовал множество других строк соединений, меняя root на пользователя по умолчанию bitnami и т. Д.

Когда я захожу в папку своего приложения и запускаю сервер (npm start или node server.js), веб-сайт запускается, но с приведенными ниже ошибками аутентификации mongoDB ниже приведен только первый раздел.

> Server has started!
Connection error: { MongoError: Authentication failed.
    at /opt/bitnami/apps/MYAPP/node_modules/mongoose/node_modules/mongodb-core/lib/con
nection/pool.js:595:61
    at authenticateStragglers (/opt/bitnami/apps/MYAPP/node_modules/mongoose/node_modu
les/mongodb-core/lib/connection/pool.js:513:16)
    at Connection.messageHandler (/opt/bitnami/apps/MYAPP/node_modules/mongoose/node_m
odules/mongodb-core/lib/connection/pool.js:549:5)
    at emitMessageHandler (/opt/bitnami/apps/MYAPP/node_modules/mongoose/node_modules/
mongodb-core/lib/connection/connection.js:309:10)
    at Socket.<anonymous> (/opt/bitnami/apps/MYAPP/node_modules/mongoose/node_modules/
mongodb-core/lib/connection/connection.js:452:17)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at addChunk (_stream_readable.js:263:12)
    at readableAddChunk (_stream_readable.js:250:11)
    at Socket.Readable.push (_stream_readable.js:208:10)
    at TCP.onread (net.js:597:20)
  name: 'MongoError',
  message: 'Authentication failed.',
  ok: 0,
  errmsg: 'Authentication failed.',
  code: 18,
  codeName: 'AuthenticationFailed' }

Любая помощь или направление будет высоко ценится. Спасибо, любезно.

Мос.

Ответы [ 2 ]

0 голосов
/ 31 августа 2018

OK. Решение найдено.

  1. В файле mongo.conf я установил dbpath в / data / db
  2. Оболочка монго указана на /opt/bitnami/mongodb/tmp/mongodb-27017.sock "$ @"

перейти к / opt / bitnami / mongodb / bin / mongo измените /opt/bitnami/mongodb/tmp/mongodb-27017.sock "$ @" на /tmp/mongodb-27017.sock "$ @"

Можно сделать это с помощью sudo nano / opt / bitnami / mongodb / bin / mongo и отредактировать файл.

По-прежнему включен noauth, поэтому следующим шагом будет получение моей строки подключения к БД для аутентификации.

Надеюсь, это кому-нибудь поможет.

Спасибо

0 голосов
/ 30 августа 2018

Некоторое улучшение. Я отредактировал mongo.conf на данный момент, чтобы включить без аутентификации. Затем я запустил mongod, который указал папку no / data / db, для которой он хранит данные. Поэтому я создал папки и снова запустил mongod. Теперь все страницы работают, но команда mongo 'mongo' не будет работать на терминале.

Я думаю, это потому, что dbpath mongod установлен на data / db, а dbpath mongodb conf установлен на /opt/bitnami/mongodb/data/db.

.

Итак, я пытаюсь обновить dbpath mongod, но, похоже, он не обновляется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...