#mysql #node.js #heroku #deployment
#mysql #node.js #heroku #развертывание
Вопрос:
Привет, я впервые создаю node.js приложение с MySQL в качестве базы данных, я пытаюсь развернуть приложение в heroku. Я выяснил подключение к MySQL с помощью дополнения cleardb. Теперь все, что мне осталось, — это развернуть его. Поэтому перед фактическим развертыванием приложения я пытаюсь протестировать его локально. Итак, я запускаю команду heroku local
, и все, что я вижу server running on 8080!
, это то, что я настроил Procfile так, чтобы он указывал на мой файл app.js . Все выполняется успешно, но приложение просто не запускается. Я также попытался настроить сценарий запуска, но происходит то же самое. это хранилище для моего приложения: https://github.com/ruben-olmos/join-us-app .
репозиторий небольшой и краткий. Это проблема с кодом? Я запустил это локально в cloud 9, и это сработало, но, похоже, здесь это не работает. Есть идеи?
Комментарии:
1. Можете ли вы поделиться журналами heroku, используя heroku logs —tail. Это поможет выяснить ошибку.
Ответ №1:
В вашем package.json
нет сценария запуска, поэтому Heroku нужен сценарий запуска для запуска вашего приложения, т.е. npm start
Решение:
в вашем package.json
, добавьте :
"scripts": {
"test": "echo "Error: no test specified" amp;amp; exit 1",
"start": "node ./app.js"
},
Итак, теперь ваш Heroku знает, какое приложение запускать.
И вторая проблема заключается в том, что ваше соединение с MySQL находится на localhost итак, вы изменили его на heroku?
если вы действительно хотите использовать mysql, у вас есть два пути.
-
Запустите mysql локально, но преобразуйте в postgres при переходе на Heroku с помощью mysql2psql gem, как описано здесь : https://devcenter.heroku.com/articles/heroku-mysql
-
Используйте дополнение mysql, например https://addons.heroku.com/cleardb
Комментарии:
1. Привет, я обновил код, чтобы включить сценарий запуска, я уже включил соединение с cleardb, все было идеально назначено. Однако я все еще получаю ту же проблему, только с сервером, работающим с ошибкой 5000, и ничего больше
2. Хромой вопрос, но вы добавили переменные env в heroku? Также, где именно вы получаете ошибку. Проверить журналы?