2016-10-25 4 views
0

Пожалуйста, скажите мне точные пошаговые инструкции. Предположим, я только что недавно клонировал и создал мое новое приложение MEAN.JS. Он отлично работает на моем локальном хосте.Как развернуть веб-приложение mean.js для heroku, с базой данных, размещенной в mlab?

И теперь я создал новую базу данных в mlabs. Получил URI, пользователь и пароль для этой базы данных из mlabs.

Теперь, пожалуйста, расскажите, как приступить к успешному развертыванию этого приложения на героку.


Что я пробовал: ---

Я изменил файл production.js, даже development.js файл, расположенный в папке окр.

Ive сделал это в этих двух файлах. После этого, когда я запускаю приложение на своем локальном хосте, он успешно запускается и база данных подключается к mLabs. Но в heroku он дает ошибку приложения. Я также включаю журналы heroku.

db: { 
uri: "mongodb://xxx:[email protected]:23624/project", 
options: { 
    user: 'username', 
    pass: 'password' 
}, 
// Enable mongoose debug mode 
debug: process.env.MONGODB_DEBUG || false 

}

HEROKU LOGS

Согласно журналам, я думаю, что это не может подключиться к базе данных. См. Эту погрешность: -

[MongoError: connect ECONNREFUSED 127.0.0.1:27017] 
+1

В каком месте вы пытаетесь соединиться в localhost? Ошибка указывает, что приложение не пытается подключиться к mLab и да 127.0.0.1:27017. Помогите, если вы разделите блок подключения кода. –

ответ

1

Heroku запускает ваше приложение в рабочей среде по умолчанию, поэтому вы должны проверить конфигурацию производства.

Принимая хранилище вы связаны в качестве основы, в this line он получает URL-адрес БД из переменных окружения называемых MONGOHQ_URL или MONGODB_URI, так что вы должны либо add them to Heroku с MongoLab URI или заменить на код с именем переменной вы хотите (сделать уверен, что он создан и на Heroku).

Если это работает на вашем локальном хосте, а не в Heroku, это означает, что неправильная конфигурация производства на Heroku, вы также должны убедиться, что вы также перенаправляете изменения в файл конфигурации производства в репозиторий Heroku. Если вы хотите протестировать на Heroku с использованием среды разработки, вы можете изменить this setting.