Не может прочитать базу данных Монго после развертывания на heroku, возвращает ошибку 503, но работает локально - PullRequest
1 голос
/ 28 июня 2019

После выполнения команды npm run build и исправления ошибок пути на моем server.js он хорошо работает в localhost.Но после того, как я развернул его в Heroku, данные никогда не загружались и заканчивались следующими сообщениями в консоли chrome:

Не удалось загрузить ресурс: сервер ответил со статусом 503 (служба недоступна)

За этим следует еще одна ошибка:

Uncaught (в обещании) SyntaxError: Неожиданный токен <в JSON в позиции 0. </p>

Я предполагаю, чтоПервая ошибка связана с маршрутами, так как он пытается извлечь данные, а ответ сервера - 503, и я предполагаю, что вторая ошибка все еще связана с используемым путем для статических файлов в моем файле server.js.

Код доступен здесь: https://github.com/pepdbm7/Meetup-with-Vue

Что я уже пробовал для первой ошибки: изменить маршруты на стороне клиента (добавив URL-адрес herokuapp в качестве корневого URL для каждой выборки ()), итакже серверная маршрутизация, но это не помогло.

Локально работает, как сейчас, вот чего я не понимаю.

... и для второй ошибки яизменил пути тo: res.sendFile(path.join(__dirname, "client/dist")) и to: app.use(express.static("client/dist"));, и я уже пробовал другие способы, но тогда он вообще не работал, так как он не мог получить доступ к уменьшенным файлам js и css.

Какдополнительная информация, я действительно контролировал логи heroku при развертывании, и это логи результатов, я не вижу серьезных ошибок, а только предупреждения, может быть, я что-то здесь упускаю:

2019-06-28T15:32:25.610341+00:00 app[api]: Deploy d1938a6e by user pepdbm7@gmail.com
2019-06-28T15:32:25.610341+00:00 app[api]: Release v17 created by user pepdbm7@gmail.com
2019-06-28T15:32:26.000000+00:00 app[api]: Build succeeded
2019-06-28T15:32:27.448688+00:00 heroku[web.1]: Restarting
2019-06-28T15:32:27.765993+00:00 heroku[web.1]: State changed from up to starting
2019-06-28T15:32:28.597600+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2019-06-28T15:32:28.706141+00:00 heroku[web.1]: Process exited with status 143
2019-06-28T15:32:32.750630+00:00 heroku[web.1]: Starting process with command `npm start`
2019-06-28T15:32:34.977483+00:00 app[web.1]: 
2019-06-28T15:32:34.977500+00:00 app[web.1]: > meetup_app_vue@1.0.0 start /app
2019-06-28T15:32:34.977501+00:00 app[web.1]: > nodemon server.js
2019-06-28T15:32:34.977502+00:00 app[web.1]: 
2019-06-28T15:32:35.398126+00:00 app[web.1]: [33m[nodemon] 1.19.1[39m
2019-06-28T15:32:35.399744+00:00 app[web.1]: [33m[nodemon] to restart at any time, enter `rs`[39m
2019-06-28T15:32:35.400250+00:00 app[web.1]: [33m[nodemon] watching: *.*[39m
2019-06-28T15:32:35.401055+00:00 app[web.1]: [32m[nodemon] starting `node server.js`[39m
2019-06-28T15:32:36.388146+00:00 heroku[web.1]: State changed from starting to up
2019-06-28T15:32:35.987818+00:00 app[web.1]: node environment is production
2019-06-28T15:32:35.993171+00:00 app[web.1]: meetup_app_vue 1.0.0 up and running on port 40353
2019-06-28T15:32:35.994993+00:00 app[web.1]: (node:36) UnhandledPromiseRejectionWarning: MongoParseError: Invalid connection string
2019-06-28T15:32:35.994996+00:00 app[web.1]:     at parseConnectionString (/app/node_modules/mongodb-core/lib/uri_parser.js:505:21)
2019-06-28T15:32:35.994998+00:00 app[web.1]:     at connect (/app/node_modules/mongodb/lib/operations/mongo_client_ops.js:195:3)
2019-06-28T15:32:35.994999+00:00 app[web.1]:     at connectOp (/app/node_modules/mongodb/lib/operations/mongo_client_ops.js:284:3)
2019-06-28T15:32:35.995001+00:00 app[web.1]:     at executeOperation (/app/node_modules/mongodb/lib/utils.js:416:24)
2019-06-28T15:32:35.995002+00:00 app[web.1]:     at MongoClient.connect (/app/node_modules/mongodb/lib/mongo_client.js:175:10)
2019-06-28T15:32:35.995004+00:00 app[web.1]:     at Promise (/app/node_modules/mongoose/lib/connection.js:554:12)
2019-06-28T15:32:35.995006+00:00 app[web.1]:     at new Promise (<anonymous>)
2019-06-28T15:32:35.995007+00:00 app[web.1]:     at NativeConnection.Connection.openUri (/app/node_modules/mongoose/lib/connection.js:551:19)
2019-06-28T15:32:35.995009+00:00 app[web.1]:     at Mongoose.connect (/app/node_modules/mongoose/lib/index.js:289:15)
2019-06-28T15:32:35.995010+00:00 app[web.1]:     at Object.<anonymous> (/app/server.js:23:4)
2019-06-28T15:32:35.995012+00:00 app[web.1]:     at Module._compile (internal/modules/cjs/loader.js:776:30)
2019-06-28T15:32:35.995013+00:00 app[web.1]:     at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
2019-06-28T15:32:35.995015+00:00 app[web.1]:     at Module.load (internal/modules/cjs/loader.js:653:32)
2019-06-28T15:32:35.995016+00:00 app[web.1]:     at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
2019-06-28T15:32:35.995017+00:00 app[web.1]:     at Function.Module._load (internal/modules/cjs/loader.js:585:3)
2019-06-28T15:32:35.995019+00:00 app[web.1]:     at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
2019-06-28T15:32:35.995111+00:00 app[web.1]: (node:36) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 3)
2019-06-28T15:32:35.995194+00:00 app[web.1]: (node:36) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Что бы это ни былобыть очень простой вещью, но я уже потратил несколько дней, чтобы найти ее, поэтому любая подсказка будет очень кстати!

Редактировать: как говорят некоторые комментарии, мне пришлось поместить переменные окружения на heroku, которые я простопропустил или не правильно назвал.Спасибо !!

1 Ответ

0 голосов
/ 30 июня 2019

Как я и ожидал, это должна была быть проблема простого решения, и это было так. Мне просто пришлось обновить переменные среды в Config Vars в настройках Heroku, как говорится в некоторых комментариях! Сейчас работает нормально !!

Большое спасибо!

...