Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.02.2020, 16:58
Интересующийся
Отправить личное сообщение для illusion Посмотреть профиль Найти все сообщения от illusion
 
Регистрация: 01.02.2020
Сообщений: 22

Не удается подключиться к MongoDB на удаленном сервере из Compass
Не могу подключиться к MongoDB из Compass. ( MongoDB сервере Ubuntu 18.04, Compass на моем ПК под windows)
Установлен Ubuntu 18.04, Nginx, Node js v12.14.1, по серии статей:
[url="https://www.digitalocean.com/community/tutorials/how-to-install-mongodb-on-ubuntu-18-04-ru"]
и других.
Подключил доменное имя и бесплатный сертификат шифрования, создал пользователя помимо root в Ubuntu 18.04.
Работаю с MongoDB через скрипт по mongodb://localhost:27017
Без авторизации в MongoDB, полет нормальный.
Пример скрипта:
Все нормально, но внешне подключится к MongoDB не удается.

При консольном запуске mongo на сервере:

Что сделал, пробовал :
Открыл порт в фаерволе 27017


Инструментом http://portquiz.net:27017 проверил доступность порта, доступен

В файле конфигурации etc/mongodb.conf вбил ip своего сервера:
bind_ip = 127.0.0.1, 95.142.47.208
#port = 27017
Пробовал вместо своего вбивать 0.0.0.0
Пробовал удалять файл mongod.lock в нем было значение 28976
Еще всякое пробовал и уже забыл что именно.
Уже долго маюсь, а решение наверняка очень простое.
Сделал mongod --repair

сразу после этого запускаю скрипт на сервере:

Данные выводятся в консоль из БД и по адресу сервера по https открывается нужная страничка

Код скрипта:
const express = require("express");
// создаем объект приложения
const app = express();
// определяем обработчик для маршрута "/"
app.get("/", function(request, response){
     
    // отправляем ответ
    response.send(`<h2>Привет Express!</h2>`);
});
// начинаем прослушивать подключения на 5000 порту
const port = 5000;
app.listen(port, function () {  console.log(`Server running at :${port}/`); });

// MongoDB test

const MongoClient = require("mongodb").MongoClient;
 
// создаем объект MongoClient и передаем ему строку подключения
const mongoClient = new MongoClient("mongodb://localhost:27017/", { useNewUrlParser: true, useUnifiedTopology:true });
mongoClient.connect(function(err, client){
      
    const db = client.db("usersdb");
    const collection = db.collection("users");
    let user = {name: "Tom", age: 23};
   

       collection.find().toArray(function(err, results){
                 
        console.log(results);
       // console.log(err);
        client.close();
    });   
});

Пожалуйста дайте советы варианты что делать для удаленного подключения через Compass к MongoBD

Последний раз редактировалось illusion, 01.02.2020 в 21:53.
Ответить с цитированием
  #2 (permalink)  
Старый 15.02.2020, 10:04
Интересующийся
Отправить личное сообщение для illusion Посмотреть профиль Найти все сообщения от illusion
 
Регистрация: 01.02.2020
Сообщений: 22

При иземенении в файле: /etc/mongod.conf
bind_ip = 127.0.0.1, 0.0.0.0
#port = 27017

При этом пробовал расскоментировать #port = 27017,
вместо 0.0.0.0 ставить ip своего сервера, а так же такое:
[0.0.0.0, ::]
При проверке:
sudo netstat -tnlp
выдает для mongod только 127.0.0.1:27017

Что я не так делаю?
Ответить с цитированием
  #3 (permalink)  
Старый 15.02.2020, 10:49
Интересующийся
Отправить личное сообщение для illusion Посмотреть профиль Найти все сообщения от illusion
 
Регистрация: 01.02.2020
Сообщений: 22

А теперь получилось:
bind_ip = 0.0.0.0
#port = 27017

и вот так:
bind_ip = 127.0.0.1,мой ip сервера
#port = 27017

Так и не понял что было не так, все варианты пробовал ранее.



Тему можно закрывать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
хранение скрипта на удаленном сервере aleks_lv Общие вопросы Javascript 2 02.10.2013 23:26