Strapi, развернутый на Heroku, дает сбой в производстве? - PullRequest
0 голосов
/ 06 августа 2020

У меня есть приложение, в котором интерфейс развернут в Netlify, а бэкэнд Strapi развернут в Heroku. Недавно я обновил Strapi с v3.0.6 до v3.1.3. Раньше я использовал PostgresQL в производственной среде, поэтому вместе с обновлением Strapi я также пытаюсь перейти на MongoDB.

Я пытаюсь развернуть свой бэкэнд в производственной среде, однако продолжаю получать ошибку 503 и приложение вылетает. Из журналов ошибок ниже видно, что существует проблема с подключением к базе данных Mon go.

Вот мои соответствующие журналы от Heroku:

2020-08-06T15:06:49.848463+00:00 app[web.1]: > backend@0.1.0 start /app
2020-08-06T15:06:49.848464+00:00 app[web.1]: > strapi start
2020-08-06T15:06:49.848465+00:00 app[web.1]:
2020-08-06T15:06:52.238840+00:00 app[web.1]: (node:23) Warning: Accessing non-existent property 'count' of module exports inside circular dependency
2020-08-06T15:06:52.238869+00:00 app[web.1]: (Use `node --trace-warnings ...` to show where the warning was created)
2020-08-06T15:06:52.239130+00:00 app[web.1]: (node:23) Warning: Accessing non-existent property 'findOne' of module exports inside circular dependency
2020-08-06T15:06:52.239199+00:00 app[web.1]: (node:23) Warning: Accessing non-existent property 'remove' of module exports inside circular dependency
2020-08-06T15:06:52.239276+00:00 app[web.1]: (node:23) Warning: Accessing non-existent property 'updateOne' of module exports inside circular dependency
2020-08-06T15:07:10.279519+00:00 heroku[router]: at=error code=H20 desc="App boot timeout" method=GET path="/" host=<app-name>.herokuapp.com request_id=9e81f113-1003-42f7-82e7-59296dc1f0f8 fwd="24.19.220.31" dyno= connect= service= status=503 bytes= protocol=https
2020-08-06T15:07:22.242572+00:00 app[web.1]: [2020-08-06T15:07:22.241Z] debug ⛔️ Server wasn't able to start properly.
2020-08-06T15:07:22.243944+00:00 app[web.1]: [2020-08-06T15:07:22.243Z] error Error connecting to the Mongo database. Server selection timed out after 30000 ms
2020-08-06T15:07:22.266318+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2020-08-06T15:07:22.266611+00:00 app[web.1]: npm ERR! errno 1
2020-08-06T15:07:22.269156+00:00 app[web.1]: npm ERR! backend@0.1.0 start: `strapi start`
2020-08-06T15:07:22.269330+00:00 app[web.1]: npm ERR! Exit status 1
2020-08-06T15:07:22.269513+00:00 app[web.1]: npm ERR!
2020-08-06T15:07:22.269976+00:00 app[web.1]: npm ERR! Failed at the backend@0.1.0 start script.
2020-08-06T15:07:22.270129+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2020-08-06T15:07:22.278069+00:00 app[web.1]:
2020-08-06T15:07:22.278314+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2020-08-06T15:07:22.278417+00:00 app[web.1]: npm ERR!     /app/.npm/_logs/2020-08-06T15_07_22_271Z-debug.log
2020-08-06T15:07:22.355748+00:00 heroku[web.1]: Process exited with status 1
2020-08-06T15:07:22.394507+00:00 heroku[web.1]: State changed from starting to crashed
2020-08-06T15:07:23.802505+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=<app-name>.herokuapp.com request_id=f5876daf-f945-46b8-88c0-08a61106cfc5 fwd="24.19.220.31" dyno= connect= service= status=503 bytes= protocol=https

У меня есть Mon go Переменная env URI установлена ​​в Heroku, и приложение работает нормально локально. Я использую Mon go Atlas на уровне бесплатного пользования, поэтому мне интересно, связано ли это с этим? Есть ли у кого-нибудь идеи, в чем может быть проблема?

1 Ответ

0 голосов
/ 06 августа 2020

Я потратил 24 часа, пытаясь исправить это, прежде чем опубликовать этот пост, и вот так - через полчаса после этого - я исправил его благодаря этому SO-ответу . Мне нужно было внести IP-адрес в белый список, чтобы разрешить соединение между MongoDB и Heroku!

...